Ripristinare SQL Server Agent XPS perché? Ebbene si, a volte potrà capitarti di creare una piano di manutenzione del database ma sei impossibilitato perché l’Agent XPs è disabilitato.
Vediamo come ripristinare il corretto funzionamento del servizio Agent e creare i nostri job pianificati.
Cos’è Sql Server Agent XPs
SQL Server Agent è un componente di Microsoft SQL Server che pianifica i processi e gestisce altre attività automatizzate. Viene eseguito come un servizio windows in modo che possa essere avviato automaticamente all’avvio del sistema o può essere avviato manualmente.
Le attività di sistema tipiche eseguite includono la pianificazione dei piani di manutenzione (ad esempio i backup), la gestione delle sottoscrizioni di Reporting Services e l’esecuzione di sotto-attività di distribuzione dei log (backup, copia, ripristino e controllo). Anche le attività dell’utente, ad esempio la pianificazione di un’istruzione T-SQL o della riga di comando, sono comuni.
Fonte: Wikipedia
Gli Agent XPs sono stored procedure estese utilizzate da SQL Server Agent che forniscono azioni con privilegi che vengono eseguite esternamente al DBMS nel contesto di protezione dell’account del servizio SQL Server Agent. Se queste procedure sono disponibili da una sessione di database, un exploit per l’istanza di SQL Server potrebbe comportare una compromissione del sistema host e delle risorse esterne di SQL Server. L’accesso a queste procedure deve essere disabilitato a meno che l’utilizzo di SQL Server Agent non sia necessario e autorizzato.
Ripristinare SQL Server Agent XPs disabilitato
Nel caso SQL Server Agent XPs sia disabilitato quando si prova creare un piano di manutenzione in “Creazione guidata nuovo piano di manutenzione ” utilizzando SQL Server Management Studio potrebbe ricevere a video il seguente errore:

L’opzione Agent XPs consente di abilitare le stored procedure estese del servizio SQL Server Agent nel server. Se questa opzione non è attivata, il nodo SQL Server Agent non sarà disponibile in Esplora oggetti di SQL Server Management Studio.
Per risolvere il problema occorre impostare l’Agent XPs a 1 e poi eseguire il RECONFIGURE per far funzionare il tutto.
Ecco i passaggi da seguire.
Attivazione SQL Server Agent XPs
- Lanciamo sp_configure per controllare il valore dell’ ‘Agent XPs’
EXEC SP_CONFIGURE 'Agent XPs'

L’immagine mostra che le opzioni avanzate non sono abilitate in questa istanza, quindi dobbiamo prima abilitare l’opzione avanzata per vedere tutti i valori di configurazione avanzata.
EXEC SP_CONFIGURE 'show advanced options',1
GO
RECONFIGURE
GO
EXEC SP_CONFIGURE 'show advanced options'

Come si vede dalla figura in alto Show Advanced Options è settato a 1, questo significa che le opzioni avanzate sono abilitate e possiamo vederle e cambiarne i valori.
- Lanciamo ancora Run sp_configure per controllare il valore dell’Agent XPs. Come possiamo vedere il valore è settato a 0.
EXEC SP_CONFIGURE 'Agent XPs'

Ora dobbiamo cambiare il settaggio da 0 a 1 e lanciare SQL Server Agent in SQL Server Management Studio.
EXEC SP_CONFIGURE 'Agent XPs',1
GO
RECONFIGURE
Riavviamo SQL Server Agent da SQL Server Configuration Manager e finalmente potremo accedere al suo contenuto.
Conclusione
Abbiamo mostrato come riabilitare SQL Server Agent XPs. Adesso puoi creare attività di backup pianificate o job personalizzati.
Sei sei interessato ad argomenti e guide su SQL Server non perderti i due articoli più letti di questo blog. Ti lascio il link:
Installare Sql Server 2019 su Ubuntu 18.04
Altri articoli che potrebbero interessarti: