Creare un avviso per evento WMI

Si applica a:SQL ServerIstanza gestita di SQL di Azure

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.

Questo articolo descrive come creare un avviso di SQL Server Agent che viene generato quando si verifica un evento specifico di SQL Server monitorato dal provider WMI per eventi del server in SQL Server tramite SQL Server Management Studio o Transact-SQL.

Per informazioni sull'uso del provider WMI per il monitoraggio degli eventi di SQL Server, vedere Classi e proprietà del provider WMI per eventi del server. Per informazioni sulle autorizzazioni necessarie per ricevere notifiche di avviso per eventi WMI, vedere Selezionare un account per il servizio SQL Server Agent. Per altre informazioni su WQL, vedere Utilizzo di WQL con il provider WMI per eventi del server.

Limitazioni e restrizioni

  • SQL Server Management Studio offre un semplice strumento grafico per la gestione del sistema di avvisi ed è lo strumento consigliato per la configurazione di un'infrastruttura di avvisi.

  • Gli eventi generati xp_logevent si verificano nel database master. Pertanto, xp_logevent non genera un avviso a meno che @database_name per l'avviso è 'master' o NULL.

  • Sono supportati solo spazi dei nomi WMI sul computer in cui è in esecuzione SQL Server Agent.

Autorizzazioni

Per impostazione predefinita, solo i membri del ruolo predefinito del server amministratore di sistema possono eseguire sp_add_alert.

Usare SQL Server Management Studio

  1. In Esplora oggetti selezionare il segno più per espandere il server in cui si desidera creare un avviso di evento WMI.

  2. Selezionare il segno più per espandere SQL Server Agent.

  3. Fare clic con il pulsante destro del mouse su Avvisi e selezionare Nuovo avviso.

  4. Nella casella Nome della finestra di dialogo Nuovo avviso immettere un nome per l'avviso.

  5. Selezionare la casella di controllo Abilita per abilitare l'esecuzione dell'avviso. Per impostazione predefinita, l'opzione Abilita è selezionata.

  6. Nell'elenco Tipo selezionare Avviso per evento WMI.

  7. Nella casella Spazio dei nomiin Definizione di avviso di evento WMI specificare lo spazio dei nomi WMI da usare per l'istruzione WQL (WMI Query Language) che identifica l'evento WMI che attiva l'avviso.

  8. Nella casella Query specificare l'istruzione WQL che identifica l'evento al quale risponde l'avviso.

  9. Seleziona OK.

Usare Transact-SQL

  1. In Esplora oggetti connettersi a un'istanza del motore di database.

  2. Sulla barra Standard selezionare Nuova query.

  3. Copiare e incollare l'esempio seguente nella finestra di query e selezionare Esegui.

    USE msdb;
    GO
    
    EXEC dbo.sp_add_alert @name = N'Test Alert 2',
        @message_id = 54001,
        @notification_message = N'Error 54001 has occurred on the Sales.SalesOrderDetail table on the AdventureWorks2022 database.',
        @wmi_namespace = '\.\root\Microsoft\SqlServer\ServerEvents',
        @wmi_query = N'SELECT * FROM ALTER_TABLE
    WHERE DatabaseName = ''AdventureWorks2022'' AND SchemaName = ''Sales''
    AND ObjectType=''Table'' AND ObjectName = ''SalesOrderDetail''';
    GO
    

Passaggi successivi