Definizione di avvisi
Gli eventi vengono generati in SQL Server e immessi nel registro applicazioni di Microsoft Windows. SQL Server Agent legge il registro applicazioni ed esegue un confronto tra gli eventi e gli avvisi definiti. Quando SQL Server Agent rileva una corrispondenza, viene attivato un avviso, che rappresenta una risposta automatica a un evento. Oltre al controllo degli eventi di SQL Server, SQL Server Agent può inoltre controllare le condizioni delle prestazioni e gli eventi WMI (Windows Management Instrumentation).
Per definire un avviso, è necessario specificare gli elementi seguenti:
Nome dell'avviso.
Evento o condizione delle prestazioni che attiva l'avviso.
Azione eseguita da SQL Server Agent in risposta all'evento o alla condizione delle prestazioni.
Denominazione di un avviso
Ogni avviso deve essere dotato di un nome. I nomi degli avvisi devono essere univoci nell'istanza di SQL Server e non possono essere formati da più di 128 caratteri.
Selezione di un tipo di evento
Un avviso rappresenta la risposta a un evento di tipo specifico. Gli avvisi rispondono ai tipi di evento seguenti:
Eventi di SQL Server
Condizioni delle prestazioni di SQL Server
Eventi WMI
Il tipo di evento determina i parametri utilizzati per specificare l'evento esatto.
Definizione di un evento di SQL Server
È possibile specificare la generazione di un avviso in risposta a uno o più eventi. Utilizzare i parametri seguenti per specificare gli eventi che comportano l'attivazione di un avviso:
Numero errore
Tramite SQL Server Agent viene generato un avviso quando si verifica un errore specifico. È possibile, ad esempio, specificare il numero errore 2571 in risposta a tentativi non autorizzati di richiamare comandi DBCC (Database Console Commands).
Livello di gravità
Tramite SQL Server Agent viene generato un avviso quando si verifica un errore con il livello di gravità specificato. È possibile, ad esempio, specificare un livello di gravità 15 in risposta a errori di sintassi nelle istruzioni Transact-SQL.
Database
Tramite SQL Server Agent viene generato un avviso solo quando l'evento viene generato in un database specifico. Questa opzione si applica insieme al numero di errore o al livello di gravità. Se, ad esempio, un'istanza contiene un database utilizzato per la produzione e uno utilizzato per la segnalazione, è possibile definire un avviso in risposta a errori di sintassi solo nel database di produzione.
Testo dell'evento
Tramite SQL Server Agent viene generato un avviso quando l'evento indicato contiene una stringa di testo specifica nel messaggio dell'evento. È possibile, ad esempio, definire un avviso in risposta a messaggi contenenti il nome di una tabella o un vincolo specifico.
Selezione di una condizione delle prestazioni
È possibile determinare la generazione di un avviso in risposta a una condizione delle prestazioni specifica. In questo caso, è necessario specificare il contatore delle prestazioni da controllare, un valore di soglia per l'avviso e il comportamento indicato dal contatore se viene generato l'avviso. Per impostare una condizione delle prestazioni, è necessario definire gli elementi indicati di seguito nella pagina Generale della finestra di dialogo Nuovo avviso o Proprietà avviso di SQL Server Agent:
Oggetto
L'oggetto rappresenta l'area delle prestazioni da monitorare.
Contatore
Un contatore è un attributo dell'area da monitorare.
Istanza
L'istanza di SQL Server definisce l'istanza specifica, se disponibile, dell'attributo da monitorare.
Avvisa se il contatore e Valore
Il valore di soglia per l'avviso e il comportamento prodotto dall'avviso. La soglia è rappresentata da un numero. Il comportamento può essere uno dei seguenti: è minore di, diventa uguale a o è maggiore di il numero specificato per Valore. L'opzione Valore rappresenta un numero che descrive il contatore della condizione delle prestazioni. Per impostare, ad esempio, un avviso per l'oggetto prestazione SQLServer:Blocchi quando il valore Tempo di attesa blocchi (ms) supera i 30 minuti, selezionare è maggiore di e specificare 30 come valore.
Sempre a titolo di esempio, è possibile specificare che un avviso venga generato per l'oggetto prestazione SQLServer:Transactions quando lo spazio disponibile in tempdb è minore di 1000 KB. Per procedere, scegliere il contatore Free space in tempdb (KB), è minore di e un Valore pari a 1000.
Nota
Viene eseguito un campionamento periodico dei dati relativi alle prestazioni, che può determinare un lieve ritardo (qualche secondo) tra il raggiungimento della soglia e la generazione dell'avviso.
Selezione di un evento WMI
È possibile impostare la generazione di un avviso in risposta a un evento WMI specifico. Per selezionare un evento WMI, è necessario definire gli elementi indicati di seguito nella pagina Generale della finestra di dialogo Nuovo avviso o Proprietà avviso di SQL Server Agent:
Spazio dei nomi
SQL Server Agent viene registrato come client WMI nello spazio dei nomi WMI indicato per le query per gli eventi.
Query
SQL Server Agent utilizza l'istruzione WQL (Windows Management Instrumentation Query Language) indicata per identificare l'evento specifico.
Di seguito vengono indicati alcuni collegamenti utili per l'esecuzione di operazioni comuni: