Broker:Conversation (Ereignisklasse)
SQL Server generiert ein Broker:Conversation-Ereignis, um den Fortschritt einer Service Broker-Konversation anzugeben.
Datenspalten der Broker:Conversation-Ereignisklasse
Datenspalte |
Typ |
Beschreibung |
Spaltennummer |
Filterbar |
---|---|---|---|---|
ApplicationName |
nvarchar |
Der Name der Clientanwendung, die die Verbindung mit einer Instanz von SQL Server hergestellt hat. Diese Spalte wird mit den Werten aufgefüllt, die von der Anwendung übergeben werden, und nicht mit dem angezeigten Namen des Programms. |
10 |
Ja |
ClientProcessID |
int |
Die ID, die der Hostcomputer dem Prozess zuweist, in dem die Clientanwendung ausgeführt wird. Diese Datenspalte wird aufgefüllt, wenn die Clientprozess-ID durch den Client bereitgestellt wird. |
9 |
Ja |
DatabaseID |
int |
Die ID der Datenbank, die mithilfe der USE database-Anweisung angegeben wird. Wenn keine USE database-Anweisung ausgegeben wurde, die ID der Standarddatenbank. SQL Server Profiler zeigt den Namen der Datenbank an, wenn die Server Name-Datenspalte in der Ablaufverfolgung aufgezeichnet wird und der Server verfügbar ist. Der Wert für eine Datenbank kann mithilfe der DB_ID-Funktion ermittelt werden. |
3 |
Ja |
EventClass |
int |
Der Typ der aufgezeichneten Ereignisklasse. Immer 124 für Broker:Conversation. |
27 |
Nein |
EventSequence |
int |
Die Sequenznummer für dieses Ereignis. |
51 |
Nein |
EventSubClass |
nvarchar |
Der Typ der Ereignisunterklasse Dieser stellt weitere Informationen zu jeder Ereignisklasse bereit. |
21 |
Ja |
GUID |
uniqueidentifier |
Die Konversations-ID des Dialogs. Dieser Bezeichner wird als Teil der Nachricht übertragen und von beiden Seiten der Konversation gemeinsam verwendet. |
54 |
Nein |
HostName |
nvarchar |
Der Name des Computers, auf dem der Client ausgeführt wird. Diese Datenspalte wird aufgefüllt, wenn der Hostname durch den Client bereitgestellt wird. Der Hostname kann mithilfe der HOST_NAME-Funktion ermittelt werden. |
8 |
Ja |
IsSystem |
int |
Zeigt an, ob das Ereignis in einem Systemprozess oder einem Benutzerprozess aufgetreten ist. 0 = Benutzer 1 = System |
60 |
Nein |
LoginSid |
image |
Die Sicherheits-ID des angemeldeten Benutzers. Die SID ist für jede Anmeldung am Server eindeutig. |
41 |
Ja |
MethodName |
nvarchar |
Die Konversationsgruppe, zu der die Konversation gehört. |
47 |
Nein |
NTDomainName |
nvarchar |
Die Windows-Domäne, der der Benutzer angehört. |
7 |
Ja |
NTUserName |
nvarchar |
Der Name des Benutzers, der Eigentümer der Verbindung ist, von der dieses Ereignis generiert wurde. |
6 |
Ja |
ObjectName |
nvarchar |
Das Konversationshandle des Dialogs. |
34 |
Nein |
Priority |
int |
Die Prioritätsstufe der Konversation |
5 |
Ja |
RoleName |
nvarchar |
Die Rolle des Konversationshandles. Dies ist entweder initiator oder target. |
38 |
Nein |
ServerName |
nvarchar |
Der Name der Instanz von SQL Server, für die eine Ablaufverfolgung ausgeführt wird. |
26 |
Nein |
Schweregrad |
int |
Der SQL Server-Fehlerschweregrad, wenn dieses Ereignis einen Fehler meldet. |
29 |
Nein |
SPID |
int |
Die Serverprozess-ID, die von SQL Server dem Prozess zugewiesen wurde, der diesem Client zugeordnet ist. |
12 |
Ja |
StartTime |
datetime |
Der Zeitpunkt, zu dem das Ereignis begonnen hat (falls verfügbar). |
14 |
Ja |
TextData |
ntext |
Der aktuelle Status der Konversation. Einer der folgenden Typen:
|
1 |
Ja |
TransactionID |
bigint |
Die vom System zugewiesene ID der Transaktion. |
4 |
Nein |
In der folgenden Tabelle sind die Unterklassenwerte für diese Ereignisklasse aufgeführt.
ID |
Subclass |
Beschreibung |
---|---|---|
1 |
SEND Message |
SQL Server generiert ein SEND Message-Ereignis, wenn Database Engine (Datenbankmodul) eine SEND-Anweisung ausführt. |
2 |
END CONVERSATION |
SQL Server generiert ein END CONVERSATION-Ereignis, wenn Database Engine (Datenbankmodul) eine END CONVERSATION-Anweisung ausführt, die keine WITH ERROR-Klausel enthält. |
3 |
END CONVERSATION WITH ERROR |
SQL Server generiert ein END CONVERSATION WITH ERROR-Ereignis, wenn Database Engine (Datenbankmodul) eine END CONVERSATION-Anweisung ausführt, die eine WITH ERROR-Klausel enthält. |
4 |
Broker Initiated Error |
SQL Server generiert jedes Mal ein Broker Initiated Error-Ereignis, wenn Service Broker eine Fehlermeldung erstellt. Wenn Service Broker z. B. eine Nachricht für einen Dialog nicht erfolgreich weiterleiten kann, erstellt der Broker eine Fehlermeldung für den Dialog und generiert dieses Ereignis. SQL Server generiert dieses Ereignis nicht, wenn ein Anwendungsprogramm eine Konversation mit einem Fehler beendet. |
5 |
Terminate Dialog |
Service Broker beendet den Dialog. Service Broker beendet Dialoge als Reaktion auf Bedingungen, die zwar die Fortsetzung des Dialogs verhindern, die aber keinen Fehler oder das normale Ende einer Konversation darstellen. So führt z. B. das Löschen eines Dienstes dazu, dass Service Broker alle Dialoge für diesen Dienst beendet. |
6 |
Received Sequenced Message |
SQL Server generiert eine Received Sequenced Message-Ereignisklasse, wenn SQL Server eine Nachricht empfängt, die eine Nachrichtensequenznummer enthält. Alle benutzerdefinierten Nachrichtentypen sind sequenzierte Nachrichten. Service Broker generiert in zwei Fällen eine nicht sequenzierte Nachricht:
|
7 |
Received END CONVERSATION |
SQL Server generiert ein Received END CONVERSATION-Ereignis, wenn SQL Server eine End Dialog-Nachricht von der anderen Seite der Konversation empfängt. |
8 |
Received END CONVERSATION WITH ERROR |
SQL Server generiert ein Received END CONVERSATION WITH ERROR-Ereignis, wenn SQL Server von der anderen Seite der Konversation eine benutzerdefinierte Fehlermeldung empfängt. SQL Server generiert dieses Ereignis nicht, wenn SQL Server eine vom Broker definierte Fehlermeldung empfängt. |
9 |
Received Broker Error Message |
SQL Server generiert ein Received Broker Error Message-Ereignis, wenn Service Broker von der anderen Seite der Konversation eine vom Broker definierte Fehlermeldung empfängt. SQL Server generiert dieses Ereignis nicht, wenn Service Broker eine Fehlermeldung empfängt, die von einer Anwendung generiert wurde. Wenn z. B. die aktuelle Datenbank eine Standardroute zu einer Weiterleitungsdatenbank enthält, leitet Service Broker eine Nachricht mit einem unbekannten Dienstnamen zur Weiterleitungsdatenbank weiter. Wenn diese Datenbank die Nachricht nicht weiterleiten kann, erstellt der Broker in dieser Datenbank eine Fehlermeldung und gibt diese Fehlermeldung an die aktuelle Datenbank zurück. Wenn die aktuelle Datenbank die vom Broker genierierte Fehlermeldung von der Weiterleitungsdatenbank empfängt, generiert die aktuelle Datenbank ein Received Broker Error Message-Ereignis. |
10 |
Received END CONVERSATION Ack |
SQL Server generiert ein Received END CONVERSATION Ack-Ereignis, wenn die andere Seite einer Konversation eine von dieser Seite der Konversation gesendete End Dialog-Nachricht oder eine Fehlermeldung empfängt. |
11 |
BEGIN DIALOG |
SQL Server generiert ein BEGIN DIALOG-Ereignis, wenn das Datenbankmodul einen BEGIN DIALOG-Befehl ausführt. |
12 |
Dialog Created |
SQL Server generiert ein Dialog Created-Ereignis, wenn Service Broker einen Endpunkt für einen Dialog erstellt. Service Broker erstellt jedes Mal einen Endpunkt, wenn ein neuer Dialog eingerichtet wird, und zwar unabhängig davon, ob die aktuelle Datenbank der Initiator oder das Ziel des Dialogs ist. |
13 |
END CONVERSATION WITH CLEANUP |
SQL Server generiert ein END CONVERSATION WITH CLEANUP-Ereignis, wenn Database Engine (Datenbankmodul) eine END CONVERSATION-Anweisung ausführt, die eine WITH CLEANUP-Klausel enthält. |