Condividi tramite


Creare un avviso di evento WMI

si applica a:SQL ServerIstanza gestita di SQL di Azure

Importante

In Istanza gestita di SQL di Azure, la maggior parte delle funzionalità di SQL Server Agent, ma non tutte, è attualmente supportata. 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 generato quando si verifica un evento specifico di SQL Server monitorato dal provider WMI per gli eventi del server in SQL Server tramite SQL Server Management Studio o Transact-SQL.

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

Limitazioni e restrizioni

  • SQL Server Management Studio offre un modo grafico semplice per gestire l'intero sistema di avvisi ed è il modo consigliato per configurare un'infrastruttura di avviso.

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

  • Sono supportati solo i namespace WMI sul computer che esegue SQL Server Agent.

Autorizzazioni

Per impostazione predefinita, solo i membri del sysadmin ruolo predefinito del server 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 vuole 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 finestra di dialogo Nuovo avviso, nella casella Nome, immettere un nome per questo avviso.

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

  6. Nell'elenco Tipo selezionare avviso eventi WMI.

  7. Sotto definizione di avviso evento WMI, nella casella Spazio dei nomi, specificare lo spazio dei nomi WMI per l'istruzione WQL (WMI Query Language) che identifica quale evento WMI sarà attivato da questo avviso.

  8. Nella casella Query specificare l'istruzione WQL che identifica l'evento a cui risponde l'avviso.

  9. Selezionare 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