Share via


Creare un avviso per evento WMI

In questo argomento viene descritto 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 2012 tramite SQL Server Management Studio o Transact-SQL.

Per informazioni sull'utilizzo del provider WMI per il monitoraggio degli eventi di SQL Server, vedere Concetti relativi al 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 ulteriori informazioni su WQL, vedere Utilizzo di WQL con il provider WMI per eventi del server.

Contenuto dell'argomento

  • Prima di iniziare:

    Limitazioni e restrizioni

    Sicurezza

  • Per creare un avviso per evento WMI utilizzando:

    SQL Server Management Studio

    Transact-SQL

Prima di iniziare

Limitazioni e restrizioni

  • SQL Server Management Studio include 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 tramite 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 gli 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.

Icona freccia utilizzata con il collegamento Torna all'inizio[Inizio pagina]

Utilizzo 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 nomi in Definizione di avviso di evento WMI, specificare lo spazio dei nomi WMI da utilizzare 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. Scegliere OK.

Icona freccia utilizzata con il collegamento Torna all'inizio[Inizio pagina]

Utilizzo 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 ulteriori informazioni, vedere sp_add_alert (Transact-SQL).

Icona freccia utilizzata con il collegamento Torna all'inizio[Inizio pagina]