Freigeben über


Überwachen und Reagieren auf Ereignisse

Gilt für:SQL Serverazure SQL Managed Instance

Wichtig

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

Der SQL Server-Agent kann -Ereignisseüberwachen und darauf automatisch reagieren, z. B. auf Nachrichten von SQL Server, bestimmte Leistungsbedingungen und Ereignisse der Windows Management Instrumentation (WMI).

In diesem Abschnitt

Benachrichtigungen
Enthält Informationen zum Benennen einer Warnung und auswählen der Ereignisse oder Leistungsbedingungen, auf die Warnungen reagieren.

Erstelle ein User-Defined-Ereignis
Enthält Informationen zum Erstellen anderer Ereignisse als der ereignisse, die von SQL Server vordefiniert sind.

Operatoren
Enthält Informationen zum Erstellen von Aliasen für Administratoren, mit denen der SQL Server-Agent Benachrichtigungen senden kann, wenn Aufträge fehlschlagen oder erfolgreich sind.

Informationen zur Überwachung und Reaktion auf Ereignisse

Automatisierte Antworten auf Ereignisse werden Warnungengenannt. Sie können eine Warnung für ein oder mehrere Ereignisse definieren, um anzugeben, wie SQL Server-Agent auf sein Vorkommen reagieren soll. Eine Warnung kann auf ein Ereignis reagieren, indem sie einen Administrator benachrichtigt, einen Auftrag ausführt oder beides. Eine Warnung kann auch ein Ereignis an das Microsoft Windows-Anwendungsprotokoll auf einem anderen Computer weiterleiten. Sie können z. B. angeben, dass ein Operator sofort benachrichtigt wird, wenn ein Ereignis des Schweregrads 19 auftritt. Durch das Definieren von Warnungen können Datenbankadministratoren SQL Server effektiver überwachen und verwalten.

DER SQL Server-Agent antwortet nur auf Ereignisse, für die eine Warnung definiert ist. Die Methode, die der SQL Server-Agent zum Überwachen von Ereignissen verwendet, hängt vom Ereignistyp ab.

Wenn eine SQL Server-Agent-Warnung für einen Leistungsindikator definiert ist, überwacht der SQL Server-Agent den Leistungsindikator direkt. Bei einem WMI-Ereignis registriert der SQL Server-Agent eine Ereignisabfrage für das WMI-Ereignis.

Um auf Nachrichten von SQL Server zu reagieren, überwacht der SQL Server-Agent das Windows-Anwendungsprotokoll. DER SQL Server-Agent kann nur auf Nachrichten reagieren, die in diesem Protokoll angezeigt werden. Sql Server protokolliert standardmäßig die folgenden Meldungen im Windows-Anwendungsprotokoll:

  • Fehler der Sysmessages mit Schweregrad 19 oder höher.

    Wenn Sie auch bestimmte Sysmessages-Fehler protokollieren möchten, die einen Schweregrad unter 19 haben, verwenden Sie die sp_altermessage gespeicherte Prozedur, um solche Fehler wie "immer protokolliert" zu bestimmen.

  • Jede RAISERROR-Anweisung, die mithilfe der WITH LOG-Syntax aufgerufen wird.

    Die Verwendung von RAISERROR WITH LOG ist die empfohlene Methode zum Schreiben in das Windows-Anwendungsprotokoll aus einer Sql Server-Instanz.

  • Jedes Anwendungsereignis, das mithilfe von xp_logevent protokolliert wird.

    Anmerkung

    Das Protokollieren von Anwendungsereignissen verbraucht protokollieren Speicherplatz und kann dazu führen, dass das Windows-Anwendungsprotokoll seine maximale Größe überschreitet. Stellen Sie sicher, dass die maximale Windows-Anwendungsprotokollgröße groß genug ist, um den Verlust von SQL Server-Ereignisinformationen zu vermeiden.

Wenn SQL Server eine Nachricht protokolliert, vergleicht der SQL Server-Agent-Dienst die Nachricht mit den vom SQL Server-Administrator definierten Warnungen.

Unabhängig von der Quelle des Ereignisses antwortet der SQL Server-Agent-Dienst auf das Ereignis, indem die in der Warnung für das Ereignis angegebenen Aufgaben ausgeführt werden.

Siehe auch

sp_altermessage