Share via


Erstellen einer WMI-Ereigniswarnung

In diesem Thema wird beschrieben, wie Sie in SQL Server 2012 mithilfe von SQL Server Management Studio oder Transact-SQL eine Warnung des SQL Server-Agents erstellen, die beim Auftreten eines bestimmten SQL Server-Ereignisses ausgelöst wird, das vom WMI-Anbieter für Serverereignisse überwacht wird.

Informationen zur Verwendung des WMI-Anbieters zum Überwachen von SQL Server-Ereignissen finden Sie unter Konzepte des WMI-Anbieters für Serverereignisse. Informationen zu den Berechtigungen, die erforderlich sind, um Benachrichtigungen zu WMI-Ereigniswarnungen zu erhalten, 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 Thema

  • Vorbereitungen:

    Einschränkungen

    Sicherheit

  • Erstellen einer WMI-Ereigniswarnung mit:

    SQL Server Management Studio

    Transact-SQL

Vorbereitungen

Einschränkungen

  • Mit SQL Server Management Studio lässt sich das gesamte Warnungssystem auf einfache Weise mit einer grafischen Oberfläche verwalten. Dies ist die empfohlene Vorgehensweise, um eine Warnungsinfrastruktur zu konfigurieren.

  • Ereignisse, die mit xp_logevent generiert werden, treten in der master-Datenbank auf. Daher wird von xp_logevent erst dann eine Warnung ausgegeben, wenn der @database_name-Wert für die Warnung den Wert 'master' oder NULL hat.

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

Sicherheit

Berechtigungen

Standardmäßig können nur Mitglieder der festen Serverrolle sysadmin die Prozedur sp_add_alert ausführen.

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wird[Nach oben]

Verwenden von SQL Server Management Studio

So erstellen Sie eine WMI-Ereigniswarnung

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

  2. Klicken Sie auf das Pluszeichen, um SQL Server-Agent zu erweitern.

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

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

  5. Aktivieren Sie das Kontrollkästchen Aktivieren, um die Ausführung der Warnung zu ermöglichen. Standardmäßig ist Aktivieren aktiviert.

  6. Klicken Sie in der Liste Typ auf WMI-Ereigniswarnung.

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

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

  9. Klicken Sie auf OK.

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wird[Nach oben]

Verwenden von Transact-SQL

So erstellen Sie eine WMI-Ereigniswarnung

  1. Stellen Sie im Objekt-Explorer eine Verbindung mit einer Database Engine (Datenbankmodul)-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).

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wird[Nach oben]