Überwachen und Reagieren auf Ereignisse

Gilt für:SQL ServerAzure SQL Managed Instance

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.

SQL Server Agent kann Ereignisse überwachen und automatisch auf Ereignissereagieren. 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 Servervordefiniert 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 Warnungenbezeichnet. 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 Servereffektiver überwachen und verwalten.

SQL Server Agent reagiert nur auf Ereignisse, 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 Serverzu reagieren, wird vom SQL Server -Agent das Windows-Anwendungsprotokoll überwacht. SQL Server Agent kann nur auf Meldungen reagieren, die in diesem Protokoll aufgeführt sind. Standardmäßig protokolliert SQL Server die folgenden Meldungen im Windows-Anwendungsprotokoll:

  • 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.

  • Jedes mithilfe von „xp_logevent“ protokollierte Anwendungsereignis.

    Hinweis

    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.

Weitere Informationen

sp_altermessage