Share via


Grundlegendes zu Ereignisbenachrichtigungen im Vergleich zur SQL-Ablaufverfolgung

Die folgende Tabelle vergleicht das Verwenden von Ereignisbenachrichtigungen mit der SQL-Ablaufverfolgung zum Überwachen von Serverereignissen und führt die jeweiligen Merkmale auf.

SQL-Ablaufverfolgung

Ereignisbenachrichtigungen

Die SQL-Ablaufverfolgung bewirkt keinen zusätzlichen Verwaltungsaufwand, der auf Transaktionen zurückzuführen ist. Die Verpackung der Daten ist effizient.

Durch das Erstellen der als XML formatierten Ereignisdaten und Senden der Ereignisbenachrichtigung entsteht zusätzlicher Verwaltungsaufwand.

Die SQL-Ablaufverfolgung kann beliebige Ablaufverfolgungs-Ereignisklassen überwachen.

Ereignisbenachrichtigungen können Untergruppen von Ablaufverfolgungs-Ereignisklassen und außerdem alle DDL-Ereignisse (Data Definition Language) überwachen.

Sie können anpassen, welche Datenspalten in einem Ablaufverfolgungsereignis generiert werden sollen.

Das Schema der durch Ereignisbenachrichtigungen zurückgegebenen Ereignisdaten im XML-Format ist fest.

Durch DDL generierte Ablaufverfolgungsereignisse werden unabhängig davon generiert, ob für die DDL-Anweisung ein Rollback durchgeführt wird.

Ereignisbenachrichtigungen werden nicht ausgelöst, wenn für das Ereignis in der zugehörigen DDL-Anweisung ein Rollback durchgeführt wird.

Das Verwalten des Zwischenflusses der Daten der Ablaufverfolgungsereignisse beinhaltet das Auffüllen und Verwalten von Ablaufverfolgungsdateien oder -tabellen.

Die Zwischenverwaltung der Ereignisbenachrichtigungsdaten erfolgt automatisch über Service Broker-Warteschlangen.

Die Ablaufverfolgung muss bei jedem Neustart des Servers ebenfalls neu gestartet werden.

Nach ihrer Registrierung sind Ereignisbenachrichtigungen serverzyklenübergreifend dauerhaft und transaktiv.

Nach der Initiierung kann das Auslösen von Ablaufverfolgungen nicht mehr gesteuert werden. Beendigungszeiten und Filterzeiten können für das Angeben des Zeitpunkts ihrer Initiierung verwendet werden. Auf Ablaufverfolgungen wird durch Abrufen der entsprechenden Ablaufverfolgungsdatei zugegriffen.

Ereignisbenachrichtigungen können mithilfe der WAITFOR-Anweisung für die Warteschlange gesteuert werden, die die Nachricht empfängt, die von der Ereignisbenachrichtigung generiert wurde. Auf diese kann durch Abrufen der Warteschlange zugegriffen werden.

ALTER TRACE ist die Mindestberechtigung, die zum Erstellen einer Ablaufverfolgung erforderlich ist. Außerdem ist die Berechtigung zum Erstellen einer Ablaufverfolgungsdatei auf dem entsprechenden Computer erforderlich.

Die Mindestberechtigung hängt vom Typ der Ereignisbenachrichtigung ab, der erstellt wird. Weitere Informationen finden Sie unter CREATE EVENT NOTIFICATION (Transact-SQL). Die RECEIVE-Berechtigung wird auch für die entsprechende Warteschlange benötigt.

Ablaufverfolgungen können remote empfangen werden.

Ereignisbenachrichtigungen können remote empfangen werden.

Ablaufverfolgungsereignisse werden mithilfe gespeicherter Systemprozeduren implementiert.

Ereignisbenachrichtigungen werden mithilfe einer Kombination aus Database Engine (Datenbankmodul) und Service Broker sowie mit Transact-SQL-Anweisungen implementiert.

Auf Ablaufverfolgungsdaten kann über Programmcode durch Abfragen der entsprechenden Ablaufverfolgungstabelle, durch Analysieren der Ablaufverfolgungsdatei oder mithilfe der SMO (SQL Server Management Objects) TraceReader-Klasse zugegriffen werden.

Auf Ereignisdaten wird über Programmcode durch Ausgeben von XQuery für die als XML formatierten Ereignisdaten oder mithilfe der SMO-Ereignisklassen zugegriffen.