Erstellen einer WMI-Ereigniswarnung
In diesem Thema wird beschrieben, wie eine SQL Server-Agent Warnung ausgegeben 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 zum Verwenden des WMI-Anbieters zum Überwachen SQL Server Ereignisse finden Sie unter WMI-Anbieter für Serverereignissekonzepte. 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:
Erstellen einer WMI-Ereigniswarnung mit:
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_alertausführen.
Verwendung von SQL Server Management Studio
So erstellen Sie eine WMI-Ereigniswarnung
Klicken Sie im Objekt-Explorer auf das Pluszeichen, um den Server zu erweitern, auf dem Sie eine WMI-Ereigniswarnung erstellen möchten.
Klicken Sie auf das Pluszeichen, um SQL Server-Agentzu erweitern.
Klicken Sie mit der rechten Maustaste auf Warnungen , und wählen Sie Neue Warnungaus.
Geben Sie im Dialogfeld Neue Warnung einen Namen für diese Warnung ein.
Aktivieren Sie das Kontrollkästchen Aktivieren , um die Ausführung der Warnung zu ermöglichen. Standardmäßig ist Aktivieren aktiviert.
Klicken Sie in der Liste Typ auf WMI-Ereigniswarnung.
Geben Sie unter WMI-Ereigniswarnungsdefinitionim Feld Namespace den WMI-Namespace für die WQL-Anweisung (WMI Query Language) an, die das WMI-Ereignis identifiziert, welches diese Warnung auslöst.
Geben Sie im Feld Abfrage die WQL-Anweisung an, die das Ereignis identifiziert, auf das diese Warnung reagiert.
Klicken Sie auf OK.
Verwenden von Transact-SQL
So erstellen Sie eine WMI-Ereigniswarnung
Stellen Sie im Objekt-Explorer eine Verbindung mit einer Datenbank-Engine-Instanz her.
Klicken Sie in der Standardleiste auf Neue Abfrage.
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).