Warnungen
Ereignisse werden von SQL Server erzeugt und in das Microsoft Windows-Anwendungsprotokoll geschrieben. Der SQL Server-Agent liest das Anwendungsprotokoll und vergleicht die dort festgehaltenen Ereignisse mit den von Ihnen definierten Warnungen. Wenn der SQL Server-Agent eine Übereinstimmung findet, wird eine Warnung ausgelöst, also eine automatische Antwort auf das Ereignis. Mit dem SQL Server-Agent können Sie nicht nur SQL Server-Ereignisse überwachen, sondern auch den Leistungsstatus und die WMI-Ereignisse (Windows Management Instrumentation oder Windows-Verwaltungsinstrumentation).
Zur Definition einer Warnung geben Sie Folgendes an:
Den Namen der Warnung.
Das Ereignis oder den Leistungsstatus, mit dem die Warnung ausgelöst wird.
Die Aktion, die der SQL Server-Agent als Reaktion auf das Ereignis oder den Leistungsstatus ausführt.
Benennen einer Warnung
Jede Warnung muss einen Namen aufweisen. Warnungsnamen müssen innerhalb der jeweiligen Instanz von SQL Server eindeutig sein und dürfen nicht länger als 128 Zeichen lang sein.
Auswählen eines Ereignistyps
Eine Warnung beantwortet ein Ereignis eines bestimmten Typs. Die folgenden Ereignistypen werden mithilfe von Warnungen beantwortet:
SQL Server-Ereignisse
SQL Server-Leistungsstatus
WMI-Ereignisse
Der Typ des Ereignisses bestimmt die Parameter, mit denen Sie das jeweilige Ereignis angeben.
Angeben eines SQL Server-Ereignisses
Sie können angeben, dass eine Warnung als Antwort auf ein Ereignis oder mehrere Ereignisse eintritt. Mit den folgenden Parametern geben Sie die Ereignisse an, die eine Warnung auslösen:
Fehlernummer
Der SQL Server-Agent löst eine Warnung aus, wenn ein bestimmter Fehler eintritt. Geben Sie beispielsweise an, dass die Fehlernummer 2571 als Antwort auf den unbefugten Versuch, die Datenbank-Konsolenbefehle (Database Console Commands, DBCC) aufzurufen, ausgegeben werden soll.
Schweregrad
Der SQL Server-Agent löst eine Warnung aus, wenn ein Fehler des bestimmten Schweregrades eintritt. Geben Sie beispielsweise einen Schweregrad von 15 für Syntaxfehler in Transact-SQL-Anweisungen an.
Datenbank
Der SQL Server-Agent löst nur dann eine Warnung aus, wenn das Ereignis in einer bestimmten Datenbank auftritt. Diese Option kann zusätzlich zur Fehlernummer und zum Schweregrad verwendet werden. Enthält eine Instanz beispielsweise eine Datenbank für die Produktion und eine zweite Datenbank für die Berichterstellung, können Sie eine Warnung definieren, die nur bei Syntaxfehlern in der Produktionsdatenbank ausgelöst werden soll.
Fehlermeldungstext
Der SQL Server-Agent löst eine Warnung aus, wenn die Ereignismeldung für das angegebene Ereignis eine bestimmte Textzeichenfolge enthält. Definieren Sie beispielsweise eine Warnung als Antwort auf Meldungen, die den Namen einer bestimmten Tabelle oder Einschränkung enthält.
Auswählen einer Leistungsbedingung
Sie können Warnungen als Reaktion auf einen bestimmten Leistungsstatus angeben. In diesem Fall geben Sie den zu überwachenden Leistungsindikator, einen Schwellwert für die Warnung sowie das Verhalten des Leistungsindikators, an, bei dem die Warnung ausgelöst werden soll. Zum Festlegen eines Leistungsstatus definieren Sie die folgenden Punkte im SQL Server-Agent auf der Seite Allgemein im Dialogfeld Neue Warnung oder Eigenschaften von Warnung:
Objekt
Das Objekt stellt den zu überwachenden Leistungsbereich dar.
Zähler
Ein Leistungsindikator ist ein Attribut des zu überwachenden Leistungsbereichs.
Instanz
Die SQL Server-Instanz (sofern vorhanden) bestimmt die Instanz des zu überwachenden Attributs.
Warnung, falls Leistungsindikator und Wert
Der Schwellwert für die Warnung sowie das Verhalten, bei dem die Warnung ausgelöst wird. Der Schwellwert ist ein numerischer Wert. Es liegt eines der folgenden Verhalten vor: unterschreitet, wird gleich oder übersteigt eine für den Wert festgelegte Zahl. Der Wert ist eine Zahl, die den Leistungsindikator beschreibt. Soll beispielsweise eine Warnung für das Leistungsobjekt SQLServer:Sperren ausgelöst werden, wenn die Wartezeit für Sperre länger als 30 Minuten ist, können Sie die Option übersteigt verwenden und die Zahl 30 als Wert angeben.
Ein weiteres Beispiel wäre, wenn Sie festlegen, dass eine Warnung für das Leistungsobjekt SQLServer:Transactions ausgegeben wird, wenn der freie Speicherplatz in tempdb unter 1000 KB fällt. Um dies festzulegen, wählen Sie den Leistungsindikator Freier Speicherplatz in 'tempdb' (KB), Unterschreitet und einen Wert von 1000 aus.
Hinweis Leistungsdaten werden in regelmäßigen Abständen geprüft, was zu einer geringfügigen Verzögerung (wenige Sekunden) zwischen dem Erreichen des Schwellwerts und dem Auslösen der Leistungswarnung führen kann.
Auswählen eines WMI-Ereignisses
Sie können Warnungen als Reaktion auf ein bestimmtes WMI-Ereignis angeben. Zum Auswählen eines WMI-Ereignisses definieren Sie die folgenden Punkte im SQL Server-Agent auf der Seite Allgemein im Dialogfeld Neue Warnung oder Eigenschaften von Warnung:
Namespace
Der SQL Server-Agent wird als WMI-Client im WMI-Namespace registriert, der zur Abfrage nach Ereignissen dient.
Abfrage
Der SQL Server-Agent erkennt das angegebene Ereignis mithilfe der WQL-Anweisung (Windows Management Instrumentation Query Language, Abfragesprache der Windows-Verwaltungsinstrumentation).
Die folgenden Links führen zu häufig anfallenden Aufgaben:
So erstellen Sie eine Warnung auf der Grundlage einer Meldungsnummer
So erstellen Sie eine Warnung auf der Grundlage von Schweregraden
So erstellen Sie eine Warnung auf der Grundlage eines WMI-Ereignisses
So definieren Sie die Antwort auf eine Warnung
So erstellen Sie eine benutzerdefinierte Ereignisfehlermeldung
So ändern Sie eine benutzerdefinierte Ereignisfehlermeldung
So löschen Sie eine benutzerdefinierte Ereignisfehlermeldung
So deaktivieren oder reaktivieren Sie eine Warnung