Freigeben über


Broker:Conversation-Ereignisklasse

Gilt für: SQL Server Azure SQL verwaltete Instanz

SQL Server generiert ein Broker:Conversation-Ereignis , um den Fortschritt einer Service Broker-Unterhaltung zu melden.

Datenspalten der Broker:Conversation-Ereignisklasse

Datenspalte Typ Beschreibung Column number 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. Die ID der Standarddatenbank, wenn keine USE database-Anweisung ausgegeben wurde. SQL Server Profiler zeigt den Namen der Datenbank an, wenn die ServerName -Datenspalte in der Ablaufverfolgung aufgezeichnet wird und der Server verfügbar ist. Bestimmen Sie den Wert für eine Datenbank mithilfe der DB_ID -Funktion. 3 Ja
EventClass int Der Typ der aufgezeichneten Ereignisklasse. Immer 124 für Broker:Conversation. 27 No
EventSequence int Die Sequenznummer für dieses Ereignis. 51 No
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 No
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. Verwenden Sie die HOST_NAME -Funktion, um den Hostnamen zu bestimmen. 8 Ja
IsSystem int Gibt an, ob das Ereignis bei einem Systemprozess oder einem Benutzerprozess aufgetreten ist.

0 = Benutzer

1 = System
60 No
LoginSid Abbildung Die Sicherheits-ID (SID, Security Identification Number) des angemeldeten Benutzers. Die SID ist für jede Anmeldung beim Server eindeutig. 41 Ja
MethodName nvarchar Die Konversationsgruppe, zu der die Konversation gehört. 47 No
NTDomainName nvarchar Die Windows-Domäne, der der Benutzer angehört. 7 Ja
NTUserName nvarchar Der Name des Benutzers, der Besitzer der Verbindung ist, die dieses Ereignis generiert hat. 6 Ja
ObjectName nvarchar Das Konversationshandle des Dialogs. 34 No
Priorität int Die Prioritätsstufe der Konversation 5 Ja
RoleName nvarchar Die Rolle des Konversationshandles. Dabei handelt es sich um initiator oder target. 38 No
ServerName nvarchar Der Name der Instanz von SQL Server, für die eine Ablaufverfolgung erfolgt. 26 No
Severity int Der SCHWEREgrad des SQL Server-Fehlers, wenn dieses Ereignis einen Fehler meldet. 29 No
SPID int Die Serverprozess-ID, die von SQL Server dem Prozess zugewiesen wird, der dem 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. Kann einen der folgenden Werte aufweisen: 1 Ja
SO. Started Outbound (Ausgehend gestartet). SQL Server hat eine BEGIN-UNTERHALTUNG für diese Unterhaltung verarbeitet, aber es wurden keine Nachrichten gesendet.
SI. Started Inbound (Eingehend gestartet). Eine weitere Instanz des Datenbank-Engine eine neue Unterhaltung mit der aktuellen Instanz gestartet hat, die aktuelle Instanz hat jedoch den Empfang der ersten Nachricht nicht abgeschlossen. SQL Server erstellt möglicherweise die Unterhaltung in diesem Zustand, wenn die erste Nachricht fragmentiert ist oder SQL Server Nachrichten außerhalb der Reihenfolge empfängt. SQL Server kann jedoch die Unterhaltung im CO-Zustand erstellen, wenn die erste Übertragung, die für die Unterhaltung empfangen wurde, die vollständige erste Nachricht enthält.
CO. Conversing (Konversation begonnen). Die Konversation ist eingerichtet, und beide Seiten der Konversation können Meldungen senden. Der Großteil der Kommunikation für einen typischen Dienst findet statt, wenn sich die Konversation in diesem Status befindet.
DI. Disconnected Inbound (Eingehend getrennt). Die Remoteseite der Konversation hat eine END CONVERSATION-Anweisung ausgegeben. Die Konversation verbleibt in diesem Status, bis die lokale Seite der Konversation eine END CONVERSATION-Anweisung ausgibt. Eine Anwendung kann weiter Nachrichten für die Konversation empfangen. Da die Remoteseite der Konversation die Konversation beendet hat, kann eine Anwendung in dieser Konversation keine Nachrichten mehr senden. Wenn eine Anwendung eine END CONVERSATION-Anweisung ausgibt, geht die Konversation in den CD-Status (Geschlossen) über.
DO (DURCHFÜHREN). Disconnected Outbound (Ausgehend getrennt). Die lokale Seite der Konversation hat eine END CONVERSATION-Anweisung ausgegeben. Die Konversation bleibt so lange in diesem Status, bis die Remoteseite der Konversation END CONVERSATION anerkennt. Eine Anwendung kann keine Nachrichten für die Konversation senden oder empfangen. Wenn die Remoteseite der Konversation die END CONVERSATION-Anweisung bestätigt, geht die Konversation in den CD-Status (Geschlossen) über.
ER. Fehler. An diesem Endpunkt ist ein Fehler aufgetreten. Die Error-, Severity- und State-Spalten enthalten Informationen zu dem aufgetretenen Fehler.
CD. Closed (Geschlossen). Der Konversationsendpunkt wird nicht mehr verwendet.
Transaktionskennung bigint Die vom System zugewiesene ID der Transaktion. 4 No

In der folgenden Tabelle sind die Unterklassenwerte für diese Ereignisklasse aufgeführt.

Kennung Unterklasse Beschreibung
1 SEND Message SQL Server generiert ein SEND Message-Ereignis, wenn die Datenbank-Engine eine SEND-Anweisung ausführt.
2 END CONVERSATION SQL Server generiert ein END CONVERSATION-Ereignis, wenn die Datenbank-Engine eine END CONVERSATION-Anweisung ausführt, die die WITH ERROR-Klausel nicht enthält.
3 END CONVERSATION WITH ERROR SQL Server generiert ein END CONVERSATION WITH ERROR-Ereignis, wenn die Datenbank-Engine eine END CONVERSATION-Anweisung ausführt, die die WITH ERROR-Klausel enthält.
4 Broker Initiated Error SQL Server generiert ein Vom Broker initiiertes Fehlerereignis , wenn der Dienstbroker eine Fehlermeldung erstellt. Wenn der Dienstbroker beispielsweise eine Meldung für ein Dialogfeld nicht erfolgreich weiterleiten kann, erstellt der Broker eine Fehlermeldung für das Dialogfeld und generiert dieses Ereignis. SQL Server generiert dieses Ereignis nicht, wenn ein Anwendungsprogramm eine Unterhaltung mit einem Fehler beendet.
5 Terminate Dialog Der Dienstbroker hat das Dialogfeld beendet. Der Dienstbroker beendet Dialogfelder als Reaktion auf Bedingungen, die verhindern, dass das Dialogfeld fortgesetzt wird, aber keine Fehler oder das normale Ende einer Unterhaltung sind. Beispielsweise bewirkt das Ablegen eines Diensts, dass der Dienstbroker alle Dialogfelder für diesen Dienst beendet.
6 Received Sequenced Message SQL Server generiert eine Ereignisklasse "Received Sequenced Message ", wenn SQL Server eine Nachricht empfängt, die eine Nachrichtensequenznummer enthält. Alle benutzerdefinierten Nachrichtentypen sind sequenzierte Nachrichten. Der Dienstbroker generiert in zwei Fällen eine nicht abgesenkte Nachricht:

Fehlermeldungen, die von Service Broker generiert werden, werden nicht abgesenkt.

Nachrichtenbestätigungen sind möglicherweise nicht sequenziert. Aus Effizienzgründen enthält der ServiceBroker eine Nachricht, die alle verfügbaren Bestätigungen als Teil einer sequenzierten Nachricht enthält. Wenn eine Anwendung jedoch innerhalb eines bestimmten Zeitraums keine sequenzierte Nachricht an den Remoteendpunkt sendet, erstellt der Dienstbroker eine nicht zugewiesene Nachricht für die Nachrichtenbestätigung.
7 Received END CONVERSATION SQL Server generiert ein Ereignis "Received END CONVERSATION", wenn SQL Server eine Meldung vom Ende der Unterhaltung empfängt.
8 Received END CONVERSATION WITH ERROR SQL Server generiert ein Received END CONVERSATION WITH ERROR-Ereignis , wenn SQL Server einen benutzerdefinierten Fehler von der anderen Seite der Unterhaltung empfängt. SQL Server generiert dieses Ereignis nicht, wenn SQL Server einen brokerdefinierte Fehler empfängt.
9 Received Broker Error Message SQL Server generiert ein Ereignis für empfangenen Brokerfehler , wenn service Broker eine brokerdefinierte Fehlermeldung von der anderen Seite der Unterhaltung empfängt. SQL Server generiert dieses Ereignis nicht, wenn der Dienstbroker eine Fehlermeldung empfängt, die von einer Anwendung generiert wurde.

Wenn die aktuelle Datenbank beispielsweise eine Standardroute zu einer Weiterleitungsdatenbank enthält, leitet der Dienstbroker eine Nachricht mit einem unbekannten Dienstnamen an die 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 generierte Fehlermeldung von der Weiterleitungsdatenbank empfängt, generiert die aktuelle Datenbank ein Received Broker Error Message -Ereignis.
10 Received END CONVERSATION Ack SQL Server generiert eine Empfangene UNTERHALTUNGS-Ack-Ereignisklasse , wenn die andere Seite einer Unterhaltung ein Ende-Dialogfeld oder eine Fehlermeldung erkennt, die von dieser Seite der Unterhaltung gesendet wird.
11 BEGIN DIALOG SQL Server generiert ein BEGIN DIALOG-Ereignis, wenn der Datenbank-Engine einen BEGIN DIALOG-Befehl ausführt.
12 Dialog Created SQL Server generiert ein Dialogfeld "Erstellt "-Ereignis, wenn der Dienstbroker einen Endpunkt für ein Dialogfeld erstellt. Der Dienstbroker erstellt einen Endpunkt, wenn ein neues Dialogfeld eingerichtet wird, unabhängig davon, ob es sich bei der aktuellen Datenbank um den Initiator oder das Ziel des Dialogfelds handelt.
13 END CONVERSATION WITH CLEANUP SQL Server generiert ein END CONVERSATION WITH CLEANUP-Ereignis, wenn die Datenbank-Engine eine END CONVERSATION-Anweisung ausführt, die die WITH CLEANUP-Klausel enthält.

Weitere Informationen

SQL Server Service Broker