Freigeben über


Erstellen einer WMI-Ereignisbenachrichtigung

In diesem Thema wird beschrieben, wie eine SQL Server-Agent-Warnung ausgelöst wird, die ausgelöst wird, wenn ein bestimmtes SQL Server-Ereignis auftritt, das vom WMI-Anbieter für Serverereignisse in SQL Server 2014 mithilfe von SQL Server Management Studio oder Transact-SQL überwacht wird.

Informationen zur Verwendung des WMI-Anbieters zum Überwachen von SQL Server-Ereignissen finden Sie unter WMI-Anbieter für Serverereignissekonzepte. Informationen zu den Berechtigungen, die zum Empfangen von WMI-Ereignisbenachrichtigungen erforderlich sind, finden Sie unter Auswählen eines Kontos für den SQL Server-Agent-Dienst. Weitere Informationen zu WQL finden Sie unter Verwenden von WQL mit dem WMI-Anbieter für Serverereignisse.

In diesem Themenbereich

Bevor Sie beginnen

Einschränkungen und Beschränkungen

  • SQL Server Management Studio bietet eine einfache, grafische Möglichkeit zum Verwalten des gesamten Warnungssystems und ist die empfohlene Methode zum Konfigurieren einer Warnungsinfrastruktur.

  • Ereignisse, die mit xp_logevent generiert werden, treten in der Masterdatenbank auf. Daher löst xp_logevent keine Warnung aus, es sei denn, die @database_name für die Warnung ist "Master"- oder NULL.

  • Nur WMI-Namespaces auf dem Computer, auf dem SQL Server-Agent ausgeführt wird, werden unterstützt.

Sicherheit

Erlaubnisse

Standardmäßig können nur Mitglieder der festen Serverrolle sysadmin den Befehl sp_add_alertausführen.

Verwendung von SQL Server Management Studio

So erstellen Sie eine WMI-Ereignisbenachrichtigung

  1. Klicken Sie im Objekt-Explorer auf das Pluszeichen, um den Server zu erweitern, auf dem Sie eine WMI-Ereignisbenachrichtigung erstellen möchten.

  2. Klicken Sie auf das Pluszeichen, um SQL Server Agentzu erweitern.

  3. Klicken Sie mit der rechten Maustaste auf Warnungen, und wählen Sie Neue Warnungaus.

  4. Geben Sie im Dialogfeld Neue Warnung im Feld Name einen Namen für diese Warnung ein.

  5. Aktivieren Sie das Kontrollkästchen Aktivieren, um die Ausführung der Warnung zu aktivieren. Standardmäßig ist Aktivieren ausgewählt.

  6. Wählen Sie in der Typ Liste WMI-Ereigniswarnungaus.

  7. Geben Sie unter WMI-Ereigniswarnungsdefinitionim Feld Namespace den WMI-Namespace für die WMI Query Language (WQL)-Anweisung an, die angibt, welches WMI-Ereignis diese Warnung auslöst.

  8. Geben Sie im Feld Abfrage- die WQL-Anweisung an, die das Ereignis identifiziert, auf das diese Warnung reagiert.

  9. Klicke auf OK.

Verwenden von Transact-SQL

So erstellen Sie eine WMI-Ereignisbenachrichtigung

  1. Stellen Sie im Objekt-Explorer eine Verbindung mit einer Datenbank-Engine-Instanz her.

  2. Klicken Sie in der Standardleiste auf Neue Abfrage.

  3. Kopieren Sie das folgende Beispiel, fügen Sie es in das Abfragefenster ein, und klicken Sie auf Ausführen.

    -- 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  
    

Weitere Informationen finden Sie unter sp_add_alert (Transact-SQL).