Freigeben über


Überwachen und Reagieren auf Ereignisse

Der SQL Server-Agent kann Ereignisse überwachen und automatisch auf Ereignisse reagieren. Zu diesen Ereignissen gehören Meldungen von SQL Server, bestimmte Leistungsbedingungen, und WMI-Ereignisse (Windows Management Instrumentation, Windows-Verwaltungsinstrumentation).

In diesem Abschnitt

  • Warnungen
    Enthält Informationen zum Benennen von Warnungen und Auswählen von Ereignissen oder Leistungsbedingungen, für die Warnungen ausgegeben werden.

  • Erstellen eines benutzerdefinierten Ereignisses
    Enthält Informationen zum Erstellen von Ereignissen, die nicht von SQL Server vordefiniert sind.

  • Operatoren
    Enthält Informationen zum Erstellen von Aliasen für Administratoren, die vom SQL Server-Agent zum Versenden von Benachrichtigungen verwendet werden können, wenn Aufträge einen Fehler erzeugen oder erfolgreich ausgeführt werden.

Informationen zum Überwachen von und Reagieren auf Ereignisse

Automatische Reaktionen auf Ereignisse werden als Warnungen bezeichnet. Sie können Warnungen für Ereignisse definieren um anzugeben, wie vom SQL Server-Agent auf das Auftreten dieser Ereignisse reagiert werden soll. Von einer Warnung kann auf ein Ereignis reagiert werden, indem ein Administrator benachrichtigt oder ein Auftrag ausgeführt wird, oder indem beide Aktionen ausgeführt werden. Von einer Warnung kann ein Ereignis auch an das Microsoft Windows-Anwendungsprotokoll auf einem anderen Computer weitergeleitet werden. Sie können beispielsweise angeben, dass bei einem Ereignis mit dem Schweregrad 19 sofort ein Operator benachrichtigt wird. Durch das Definieren von Warnungen können Datenbankadministratoren SQL Server effektiver überwachen und verwalten.

Vom SQL Server-Agent wird nur auf Ereignisse reagiert, für die eine Warnung definiert ist. Die vom SQL Server-Agent zum Überwachen von Ereignissen verwendete Methode hängt vom Typ des Ereignisses ab.

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

Um auf Meldungen von SQL Server zu reagieren, wird vom SQL Server-Agent das Windows-Anwendungsprotokoll überwacht. Vom SQL Server-Agent kann nur auf Meldungen reagiert werden, die in diesem Protokoll aufgeführt sind. Standardmäßig protokolliert SQL Server die folgenden Meldungen im Windows-Anwendungsprotokoll:

  • sysmessages-Fehler ab Schweregrad 19.

    Wenn auch bestimmte sysmessages-Fehler mit einem geringeren Schweregrad als 19 protokolliert werden sollen, kennzeichnen Sie solche Fehler mithilfe der gespeicherten Prozedur sp_altermessage als "immer protokolliert".

  • Jede RAISERROR-Anweisung, die durch Verwenden der WITH LOG-Syntax aufgerufen wurde.

    Das Verwenden von RAISERROR WITH LOG wird empfohlen, um von einer Instanz von SQL Server in das Windows-Anwendungsprotokoll zu schreiben.

  • Jedes mithilfe von xp_logevent protokollierte Anwendungsereignis.

    HinweisHinweis

    Das Protokollieren von Anwendungsereignissen belegt Protokollspeicher und kann dazu führen, dass das Windows-Anwendungsprotokoll die Maximalgröße überschreitet. Stellen Sie sicher, dass das Windows-Anwendungsprotokoll über eine ausreichende Größe verfügt, damit es nicht zu einem Verlust von SQL Server-Ereignisinformationen kommt.

Wenn von SQL Server eine Meldung protokolliert wird, vergleicht der SQL Server-Agent-Dienst die Meldung mit den Warnungen, die vom SQL Server-Administrator definiert worden sind.

Unabhängig von der Ereignisquelle reagiert der SQL Server-Agent-Dienst auf das Ereignis, indem die Tasks ausgeführt werden, die in der Warnung für das Ereignis angegeben worden sind.

Siehe auch

Verweis

sp_altermessage (Transact-SQL)