Condividi tramite


Creare un avviso per evento WMI

In questo argomento viene descritto come creare un avviso di SQL Server Agent generato quando si verifica un evento di SQL Server specifico monitorato dal provider WMI per gli eventi del server in SQL Server 2014 tramite SQL Server Management Studio o Transact-SQL.

Per informazioni sull'uso del provider WMI per monitorare gli eventi SQL Server, vedere Concetti relativi al provider WMI per gli 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.

Contenuto dell'articolo

Prima di iniziare

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 con la stored procedure xp_logevent si verificano nel database master. Pertanto, xp_logevent genera un avviso solo se @database_name per l'avviso è 'master' o NULL.

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

Sicurezza

Autorizzazioni

Per impostazione predefinita, solo i membri del ruolo predefinito del server sysadmin possono eseguire sp_add_alert.

Uso di SQL Server Management Studio

Per creare un avviso per evento WMI

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

  2. Fare clic sul 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. Fare clic su OK.

Uso di Transact-SQL

Per creare un avviso per evento WMI

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

  2. Sulla barra Standard fare clic su Nuova query.

  3. Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui.

    -- creates a WMI event alert that retrieves all event properties for any ALTER_TABLE event that occurs on table AdventureWorks2012.Sales.SalesOrderDetail  
    -- This example assumes that the message 54001 already exists.  
    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 AdventureWorks2012 database. Please see the following information...',  
        @wmi_namespace = '\\.\root\Microsoft\SqlServer\ServerEvents\,  
        @wmi_query = N'SELECT * FROM ALTER_TABLE   
    WHERE DatabaseName = 'AdventureWorks2012' AND SchemaName = 'Sales'   
        AND ObjectType='Table' AND ObjectName = 'SalesOrderDetail'';  
    GO  
    

Per altre informazioni, vedere sp_add_alert.