Avvisi
Si applica a: SQL Server
Importante
In Istanza gestita di SQL di Azure sono attualmente supportate la maggior parte delle funzionalità di SQL Server Agent, ma non tutte. Per informazioni dettagliate, vedere Differenze T-SQL tra Istanza gestita di SQL di Azure e SQL Server.
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 genera un avviso, che rappresenta una risposta automatica a un evento. Oltre al controllo degli eventi di SQL Server, SQL Server Agent può anche eseguire il monitoraggio delle condizioni delle prestazioni e degli eventi WMI (Strumentazione gestione Windows).
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 di errore
SQL Server Agent genera 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à
SQL Server Agent genera 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
SQL Server Agent genera un avviso solo quando l'evento si verifica 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
SQL Server Agent genera 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 monitorare, una 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
La 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 ao è maggiore di un 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:Locks 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 Spazio disponibile in tempdb (KB), è minore die 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.
Nota
Una variabile del registro eventi che archivia il nome del server è limitata a 32 caratteri. Pertanto, se le dimensioni combinate del nome host e del nome dell'istanza sono maggiori di 32 caratteri, è possibile che venga generato l'errore seguente:
Warning,[466] Failed to copy server name LONGNAMESQLSERV\LONGINSTANCENAME while generating performance counter alerts.
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 usa 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:
Per creare un avviso in base a un numero di messaggio
Per creare un avviso in base ai livelli di gravità
Per creare un avviso in base a un evento WMI
Per definire la risposta a un avviso
Per creare un messaggio di errore relativo a un evento definito dall'utente
Per modificare un messaggio di errore relativo a un evento definito dall'utente
Per eliminare un messaggio di errore relativo a un evento definito dall'utente
Per disabilitare o riattivare un avviso