Alerts

Gilt für:SQL Server

Wichtig

In Azure SQL Managed Instance werden derzeit die meisten, aber nicht alle, SQL Server-Agent-Features unterstützt. Details dazu finden Sie unter T-SQL-Unterschiede zwischen Azure SQL Managed Instance und SQL Server.

Ereignisse werden von SQL Server erzeugt und in das Microsoft Windows-Anwendungsprotokoll geschrieben. 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:

  • Der Name 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-Leistungsbedingungen

  • 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

    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

    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

    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

    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 :

  • Object

    Das Objekt stellt den zu überwachenden Leistungsbereich dar.

  • Leistungsindikator

    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 gleichoder ü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 Wertangeben.

    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) , Unterschreitetund einen Wert von 1000aus.

    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.

    Hinweis

    Ereignisprotokollvariablen, die den Servernamen speichern, sind auf 32 Zeichen beschränkt. Daher wird möglicherweise die folgende Fehlermeldung angezeigt, wenn die Gesamtlänge des Hostnamens und des Instanznamens länger als 32 Zeichen ist:

Warning,[466] Failed to copy server name LONGNAMESQLSERV\LONGINSTANCENAME while generating performance counter alerts.

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

    SQL Server -Agent wird als WMI-Client im WMI-Namespace registriert, der zur Abfrage nach Ereignissen dient.

  • Abfrage

    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

Weitere Informationen

sp_update_alert (Transact-SQL)