Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
SQL Server generiert ein Broker:Conversation-Ereignis, um den Fortschritt einer Service Broker-Konversation zu melden.
Broker: Gesprächsereignisklasse-Datenspalten
| Datenspalte | Typ | BESCHREIBUNG | Spaltennummer | Filterbar |
|---|---|---|---|---|
| ApplicationName | nvarchar |
Der Name der Clientanwendung, die die Verbindung mit einer Instanz von SQL Server erstellt hat. Diese Spalte wird mit den Von der Anwendung übergebenen Werten anstelle des angezeigten Namens des Programms aufgefüllt. | 10 | Ja |
| ClientProcessID | int |
Die vom Hostcomputer dem Prozess zugewiesene ID, 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 von der USE-Datenbank-Anweisung angegeben wird. Wenn keine USE-Datenbank-Anweisungausgegeben wurde, wird die ID der Standarddatenbank angegeben. SQL Server Profiler zeigt den Namen der Datenbank an, wenn die ServerName -Datenspalte in der Ablaufverfolgung aufgezeichnet wird und der Server verfügbar ist. Ermitteln Sie den Wert für eine Datenbank mithilfe der funktion DB_ID . | 3 | Ja |
| EventClass | int |
Der Typ der erfassten 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. Dies enthält weitere Informationen zu jeder Ereignisklasse. | 21 | Ja |
| GUID | uniqueidentifier |
Die Unterhaltungs-ID des Dialogfelds. Dieser Bezeichner wird als Teil der Nachricht übertragen und wird zwischen beiden Seiten der Unterhaltung geteilt. | 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. Verwenden Sie die HOST_NAME-Funktion , um den Hostnamen zu ermitteln. | 8 | Ja |
| IsSystem | int |
Gibt an, ob das Ereignis bei einem Systemprozess oder einem Benutzerprozess aufgetreten ist. 0 = Benutzer 1 = System |
60 | Nein |
| LoginSid | image |
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 Unterhaltungsgruppe, zu der die Unterhaltung gehört. | 47 | Nein |
| NTDomainName | nvarchar |
Die Windows-Domäne, zu der der Benutzer gehört. | 7 | Ja |
| NTUserName | nvarchar |
Der Name des Benutzers, der die Verbindung besitzt, die dieses Ereignis generiert hat. | 6 | Ja |
| ObjectName | nvarchar |
Die Dialogkennung des Dialogs. | 34 | Nein |
| Priorität | int |
Die Prioritätsebene der Unterhaltung | 5 | Ja |
| RoleName | nvarchar |
Die Rolle der Gesprächssteuerung. Dies ist entweder Initiator oder Ziel. | 38 | Nein |
| ServerName | nvarchar |
Der Name der Instanz von SQL Server, für die eine Ablaufverfolgung erfolgt. | 26 | Nein |
| Schweregrad | int |
Der Schweregrad des SQL Server-Fehlers, wenn dieses Ereignis eine Fehlermeldung enthält. | 29 | Nein |
| 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 gestartet wurde, wenn verfügbar. | 14 | Ja |
| TextData | ntext |
Der Stand der aktuellen Unterhaltung. Eins der folgenden: SO. Ausgehend gestartet. SQL Server hat eine BEGIN-UNTERHALTUNG für diese Unterhaltung verarbeitet, aber es wurden keine Nachrichten gesendet. SI. Wurde eingehend gestartet. Eine andere Instanz des Datenbankmoduls hat eine neue Unterhaltung mit der aktuellen Instanz gestartet, aber die aktuelle Instanz hat den Empfang der ersten Nachricht nicht beendet. 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. Gespräch. Die Unterhaltung wird eingerichtet, und beide Seiten der Unterhaltung können Nachrichten senden. Die meiste Kommunikation für einen typischen Dienst erfolgt, wenn sich die Unterhaltung in diesem Zustand befindet. DI. Eingehende Verbindung wurde getrennt. Die Gegenseite der Unterhaltung hat die Unterhaltung beendet. Die Unterhaltung verbleibt in diesem Zustand, bis die lokale Seite des Gesprächs einen END CONVERSATION-Befehl ausgibt. Eine Anwendung kann weiterhin Nachrichten für die Unterhaltung empfangen. Da die Remoteseite der Unterhaltung die Unterhaltung beendet hat, kann eine Anwendung keine Nachrichten in dieser Unterhaltung senden. Wenn eine Anwendung eine END CONVERSATION ausgibt, wird die Unterhaltung in den Zustand "Geschlossen" (CD) verschoben. DO. Ausgehende Verbindung unterbrochen. Der lokale Teil des Gesprächs hat ein GESPRÄCH BEENDEN ausgegeben. Die Unterhaltung verbleibt in diesem Zustand, bis die Remoteseite der Unterhaltung die END-UNTERHALTUNG bestätigt. Eine Anwendung kann keine Nachrichten für die Unterhaltung senden oder empfangen. Wenn die entfernte Seite des Gesprächs die ENDE-UNTERHALTUNG bestätigt, wechselt der Gesprächsstatus zu "Geschlossen" (CD). ER. Fehler. Auf diesem Endpunkt ist ein Fehler aufgetreten. Die Spalten "Fehler", "Schweregrad" und "Status" enthalten Informationen zu dem aufgetretenen spezifischen Fehler. CD. Closed (Geschlossen). Der Unterhaltungsendpunkt wird nicht mehr verwendet. |
1 | Ja |
| Transaktionskennung | bigint |
Die vom System zugewiesene ID der Transaktion. | 4 | Nein |
In der folgenden Tabelle sind die Unterklassenwerte für diese Ereignisklasse aufgeführt.
| Identifikationsnummer | Unterklasse | BESCHREIBUNG |
|---|---|---|
| 1 | NACHRICHT SENDEN | SQL Server generiert ein SEND Message-Ereignis , wenn das Datenbankmodul eine SEND-Anweisung ausführt. |
| 2 | GESPRÄCH BEENDEN | SQL Server generiert ein END CONVERSATION-Ereignis , wenn das Datenbankmodul eine END CONVERSATION-Anweisung ausführt, die die WITH ERROR-Klausel nicht enthält. |
| 3 | GESPRÄCH BEI FEHLER BEENDEN | SQL Server generiert ein END CONVERSATION WITH ERROR-Ereignis , wenn das Datenbankmodul eine END CONVERSATION-Anweisung ausführt, die die WITH ERROR-Klausel enthält. |
| 4 | Broker initiierter Fehler | 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 | Dialogfeld "Beenden" | 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 | Empfangene Sequenznachricht | 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 können nicht abgesenkt werden. 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 | EmpfangenE UNTERHALTUNG | SQL Server generiert ein Ereignis "Received END CONVERSATION", wenn SQL Server eine Meldung vom Ende der Unterhaltung empfängt. |
| 8 | EMPFANGENE UNTERHALTUNG MIT FEHLER | 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 ein brokerdefinierter Fehler empfangen wird. |
| 9 | Empfangene Broker-Fehlermeldung | SQL Server generiert ein Ereignis für Brokerfehlernachrichtenempfang, wenn der 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 den durch den Broker generierten Fehler aus der Weiterleitungsdatenbank empfängt, generiert die aktuelle Datenbank ein Ereignis "Received Broker Error Message" . |
| 10 | EmpfangenE UNTERHALTUNG Ack | SQL Server generiert eine Received END CONVERSATION Ack-Ereignisklasse, wenn die andere Seite einer Konversation eine End-Dialog-Nachricht oder Fehlermeldung bestätigt, die von dieser Seite der Konversation gesendet wird. |
| 11 | DIALOG BEGINNEN | SQL Server generiert ein BEGIN DIALOG-Ereignis , wenn das Datenbankmodul einen BEGIN DIALOG-Befehl ausführt. |
| 12 | Dialogfeld erstellt | 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 | UNTERHALTUNG MIT BEREINIGUNG BEENDEN | SQL Server generiert ein END CONVERSATION WITH CLEANUP-Ereignis, wenn das Datenbankmodul eine END CONVERSATION-Anweisung ausführt, die die WITH CLEANUP-Klausel enthält. |