Überwachen von und Reagieren auf Ereignisse

Vom SQL Server-Agent können Ereignisse überwacht werden, und es kann vom Agent auf Ereignisse automatisch reagiert werden. Zu diesen Ereignissen gehören Meldungen von SQL Server, bestimmte Leistungsbedingungen, und WMI-Ereignisse (Windows Management Instrumentation, Windows-Verwaltungsinstrumentation).

In diesem Abschnitt

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 werden von SQL Server die folgenden Meldungen im Windows-Anwendungsprotokoll protokolliert:

  • sysmessages-Fehler des Schweregrades 19 oder höher.

    Wenn auch bestimmte sysmessages-Fehler mit einem Schweregrad niedriger als 19 protokolliert werden sollen, verwenden Sie die gespeicherte Prozedur sp_altermessage, um solche Fehler als "immer protokolliert" zu kennzeichnen.

  • 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. Weitere Informationen zur RAISERROR-Anweisung finden Sie unter Verwenden von RAISERROR.

  • Jedes mithilfe von xp_logevent protokollierte Anwendungsereignis.

    HinweisHinweis

    Das Protokollieren von Anwendungsereignissen belegt Protokollspeicher und kann dazu führen, dass vom Windows-Anwendungsprotokoll die Maximalgröße überschritten wird. 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