Freigeben über


Alarmsignale

Gilt für:SQL Server-

Wichtig

In azure SQL Managed Instancewerden die meisten, aber nicht alle SQL Server-Agent-Features derzeit unterstützt. Weitere Informationen finden Sie unter Unterschiede von Azure SQL Managed Instance T-SQL zu SQL Server.

Ereignisse werden von SQL Server generiert und in das Microsoft Windows-Anwendungsprotokoll eingegeben. Der SQL Server-Agent liest das Anwendungsprotokoll und vergleicht dort geschriebene Ereignisse mit Benachrichtigungen, die Sie definiert haben. Wenn der SQL Server-Agent eine Übereinstimmung findet, wird eine Warnung ausgelöst, bei der es sich um eine automatisierte Antwort auf ein Ereignis handelt. Zusätzlich zur Überwachung von SQL Server-Ereignissen kann der SQL Server-Agent auch Leistungsbedingungen und WMI-Ereignisse (Windows Management Instrumentation) überwachen.

Um eine Warnung zu definieren, geben Sie Folgendes an:

  • Der Name der Warnung.

  • Das Ereignis oder die Leistungsbedingung, das die Warnung auslöst.

  • Die Aktion, die der SQL Server-Agent als Reaktion auf das Ereignis oder die Leistungsbedingung ausführt.

Benennen einer Warnung

Jede Warnung muss einen Namen haben. Warnungsnamen müssen innerhalb der SQL Server-Instanz eindeutig sein und dürfen nicht mehr als 128 Zeichen sein.

Auswählen eines Ereignistyps

Eine Warnung antwortet auf ein Ereignis eines bestimmten Typs. Warnungen reagieren auf die folgenden Ereignistypen:

  • SQL Server-Ereignisse

  • SQL Server-Leistungsbedingungen

  • WMI-Ereignisse

Der Typ des Ereignisses bestimmt die Parameter, die Sie zum Angeben des genauen Ereignisses verwenden.

Angeben eines SQL Server-Ereignisses

Sie können eine Warnung angeben, die als Reaktion auf ein oder mehrere Ereignisse eintritt. Verwenden Sie die folgenden Parameter, um die Ereignisse anzugeben, die eine Warnung auslösen:

  • Fehlernummer

    DER SQL Server-Agent löst eine Warnung aus, wenn ein bestimmter Fehler auftritt. Sie können beispielsweise fehlernummer 2571 angeben, um auf nicht autorisierte Versuche zum Aufrufen von Datenbankkonsolenbefehlen (DBCC) zu reagieren.

  • Schweregrad

    Der SQL Server-Agent löst eine Warnung aus, wenn ein Fehler des spezifischen Schweregrads auftritt. Sie können z. B. einen Schweregrad von 15 angeben, um auf Syntaxfehler in Transact-SQL Anweisungen zu reagieren.

  • Datenbank

    Der SQL Server-Agent löst eine Warnung nur aus, wenn das Ereignis in einer bestimmten Datenbank auftritt. Diese Option gilt zusätzlich zur Fehlernummer oder schweregrad. Wenn beispielsweise eine Instanz eine Datenbank enthält, die für die Produktion und eine Datenbank verwendet wird, die für die Berichterstellung verwendet wird, können Sie eine Warnung definieren, die nur auf Syntaxfehler in der Produktionsdatenbank reagiert.

  • Ereignistext

    DER SQL Server-Agent löst eine Warnung aus, wenn das angegebene Ereignis eine bestimmte Textzeichenfolge in der Ereignismeldung enthält. Sie können z. B. eine Warnung definieren, die auf Nachrichten reagiert, die den Namen einer bestimmten Tabelle oder eine bestimmte Einschränkung enthalten.

Auswählen einer Leistungsbedingung

Sie können eine Warnung angeben, die als Reaktion auf eine bestimmte Leistungsbedingung auftritt. In diesem Fall geben Sie den zu überwachenden Leistungsindikator, einen Schwellenwert für die Warnung und das Verhalten an, das der Zähler anzeigen muss, wenn die Warnung eintritt. Um eine Leistungsbedingung festzulegen, müssen Sie die folgenden Elemente auf der Seite Allgemein des Neue Warnung oder im Dialogfeld Warnungseigenschaften des SQL Server-Agents definieren:

  • -Objekt-

    Das Objekt ist der Zu überwachende Leistungsbereich.

  • Zähler

    Ein Zähler ist ein Attribut des zu überwachenden Bereichs.

  • Instanz

    Die SQL Server-Instanz definiert die spezifische Instanz (falls vorhanden) des zu überwachenden Attributs.

  • Alarm bei Zähler und Wert

    Der Schwellenwert für die Warnung und das Verhalten, das die Warnung erzeugt. Der Schwellenwert ist eine Zahl. Das Verhalten ist eine der folgenden: fällt unter, wird gleich, oder steigt über eine Zahl, die für Wertangegeben ist. Der Wert ist eine Zahl, die den Leistungszustandszähler beschreibt. Um beispielsweise eine Warnung festzulegen, die für das Leistungsobjekt SQLServer:Locks auftritt, wenn die Sperrwartzeit 30 Minuten überschreitet, würden Sie auswählen, über steigt und 30 als Wertangeben.

    Als weiteres Beispiel können Sie angeben, dass eine Warnung für das Leistungsobjekt SQLServer:Transactions auftritt, wenn der freie Speicherplatz in tempdb- unter 1000 KB fällt. Um dies festzulegen, würden Sie den Zähler freien Speicherplatz in tempdb (KB)auswählen, unterfällt, und ein Wert von 1000.

    Anmerkung

    Leistungsdaten werden in regelmäßigen Abständen erfasst, was zu einer geringen Verzögerung (einige Sekunden) zwischen dem erreichten Schwellenwert und dem Auftreten der Leistungswarnung führen kann.

    Anmerkung

    Eine Ereignisprotokollvariable, die den Servernamen speichert, ist auf 32 Zeichen beschränkt. Wenn die kombinierte Größe Ihres Hostnamens und des Instanznamens größer als 32 Zeichen ist, wird möglicherweise die folgende Fehlermeldung angezeigt:

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

Auswählen eines WMI-Ereignisses

Sie können angeben, dass eine Warnung als Reaktion auf ein bestimmtes WMI-Ereignis auftritt. Zum Auswählen eines WMI-Ereignisses müssen Sie Folgendes auf der Seite General des SQL Server-Agents im Dialogfeld New Alert oder Alert Properties definieren:

  • Namespace

    DER SQL Server-Agent registriert sich als WMI-Client für den WMI-Namespace, der zum Abfragen von Ereignissen bereitgestellt wird.

  • Abfrage

    DER SQL Server-Agent verwendet die Windows Management Instrumentation Query Language (WQL)-Anweisung, die zum Identifizieren des spezifischen Ereignisses bereitgestellt wird.

Im Folgenden finden Sie Links zu allgemeinen Aufgaben:

So erstellen Sie eine Benachrichtigung basierend auf einer Nachrichtennummer

So erstellen Sie eine Warnung basierend auf Schweregradstufen

So erstellen Sie eine Warnung basierend auf einem WMI-Ereignis

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

Siehe auch

sp_update_alert (Transact-SQL)