Broker:Conversation 事件類別
SQL Server 產生 Broker:Conversation 事件以報告 Service Broker 交談的進度。
Broker:Conversation 事件類別資料行
資料行 |
型別 |
說明 |
資料行編號 |
可篩選 |
---|---|---|---|---|
ApplicationName |
nvarchar |
建立 SQL Server 執行個體之連接的用戶端應用程式名稱。 這個資料行會填入應用程式所傳送的值,而非程式的顯示名稱。 |
10 |
是 |
ClientProcessID |
int |
主機電腦指派給用戶端應用程式執行中處理序的識別碼。 這個資料行在用戶端提供用戶端處理序識別碼時填入。 |
9 |
是 |
DatabaseID |
int |
USE database 陳述式指定之資料庫的識別碼。 如果未發出 USE database陳述式,則為預設資料庫的識別碼。 如果在追蹤當中擷取了 Server Name 資料行,SQL Server Profiler 會顯示資料庫名稱。 請使用 DB_ID 函數決定資料庫的值。 |
3 |
是 |
EventClass |
int |
擷取的事件類別類型。 Broker:Conversation 永遠為 124。 |
27 |
否 |
EventSequence |
int |
這個事件的序號。 |
51 |
否 |
EventSubClass |
nvarchar |
事件子類別的類型。 這會提供有關每一個事件類別的詳細資訊。 |
21 |
是 |
GUID |
uniqueidentifier |
對話的交談識別碼。 此識別碼會當做訊息的一部分傳送,並在交談的兩端之間共用。 |
54 |
否 |
HostName |
nvarchar |
用戶端執行時所在的電腦之名稱。 這個資料行會在用戶端提供主機名稱時填入。 若要得知主機名稱,請使用 HOST_NAME 函數。 |
8 |
是 |
IsSystem |
int |
指出事件是發生在系統處理序或使用者處理序。 0 = 使用者 1 = 系統 |
60 |
否 |
LoginSid |
image |
已登入之使用者的安全性識別碼 (SID)。 伺服器上的每一個登入之 SID 是唯一的。 |
41 |
是 |
MethodName |
nvarchar |
交談所屬的交談群組。 |
47 |
否 |
NTDomainName |
nvarchar |
使用者所隸屬的 Windows 網域。 |
7 |
是 |
NTUserName |
nvarchar |
擁有產生此事件之連接的使用者名稱。 |
6 |
是 |
ObjectName |
nvarchar |
對話的交談控制代碼。 |
34 |
否 |
優先權 |
int |
交談的優先權等級。 |
5 |
是 |
RoleName |
nvarchar |
交談控制代碼的角色。 為 initiator 或 target 其中一個角色。 |
38 |
否 |
ServerName |
nvarchar |
所追蹤的 SQL Server 執行個體名稱。 |
26 |
否 |
Severity |
int |
SQL Server 錯誤嚴重性,如果此事件報告錯誤的話。 |
29 |
否 |
SPID |
int |
由 SQL Server 指派給用戶端相關之處理序的伺服器處理序識別碼。 |
12 |
是 |
StartTime |
datetime |
事件啟動的時間 (如果有的話)。 |
14 |
是 |
TextData |
ntext |
交談的目前狀態。 它有下列幾種:
|
1 |
是 |
Transaction ID |
bigint |
系統指派的交易識別碼。 |
4 |
否 |
下表列出此事件類別的子類別值。
識別碼 |
子類別 |
說明 |
---|---|---|
1 |
SEND Message |
當 Database Engine 執行 SEND 陳述式時,SQL Server 就會產生 SEND Message 事件。 |
2 |
END CONVERSATION |
當 Database Engine 執行未包括 WITH ERROR 子句的 END CONVERSATION 陳述式時,SQL Server 就會產生 END CONVERSATION 事件。 |
3 |
END CONVERSATION WITH ERROR |
當 Database Engine 執行包括 WITH ERROR 子句的 END CONVERSATION 陳述式時,SQL Server 就會產生 END CONVERSATION 事件。 |
4 |
Broker Initiated Error |
每當 Service Broker 建立錯誤訊息時,SQL Server 就會產生 Broker Initiated Error 事件。 例如,當 Service Broker 未能成功地路由傳送對話的訊息時,Broker 會針對該對話建立一個錯誤訊息,並產生此事件。 如果應用程式結束交談時發生錯誤,SQL Server 並不會產生此事件。 |
5 |
Terminate Dialog |
Service Broker 會結束此對話。 對於無法繼續使用對話的情況 (但並不是錯誤或正常結束交談的情況),Service Broker 會終止對話來加以回應。 例如,卸除服務會導致 Service Broker 終止該項服務的所有對話。 |
6 |
Received Sequenced Message |
當 SQL Server 收到包含訊息序號的訊息時,SQL Server 就會產生 Received Sequenced Message 事件類別。 所有使用者定義的訊息類型都是循序訊息。 Service Broker 會在兩個情況下產生非循序訊息:
|
7 |
Received END CONVERSATION |
當 SQL Server 收到交談另一端的「結束對話」訊息時,SQL Server 就會產生 Received END CONVERSATION 事件。 |
8 |
Received END CONVERSATION WITH ERROR |
當 SQL Server 收到來自交談另一端的使用者定義錯誤時,SQL Server 就會產生 Received END CONVERSATION WITH ERROR 事件。 當 SQL Server 收到 Broker 定義的錯誤時,SQL Server 並不會產生此事件。 |
9 |
Received Broker Error Message |
當 Service Broker 收到來自交談另一端的 Broker 定義錯誤訊息時,SQL Server 就會產生 Received Broker Error Message 事件。 當 Service Broker 收到由應用程式產生的錯誤訊息時,SQL Server 並不會產生此事件。 例如,如果目前的資料庫包含轉寄資料庫的預設路由,Service Broker 會以未知的服務名稱將訊息路由傳送到轉寄資料庫。 如果那個資料庫無法路由訊息,則資料庫中的 Broker 就會建立錯誤訊息,然後將該錯誤訊息傳回目前的資料庫。 當目前的資料庫從轉寄資料庫收到 Broker 產生的錯誤,目前的資料庫就會產生 Received Broker Error Message 事件。 |
10 |
Received END CONVERSATION Ack |
當交談另一端認可由交談這一端傳送的「結束對話」或「錯誤」訊息時,SQL Server 就會產生 Received END CONVERSATION Ack 事件類別。 |
11 |
BEGIN DIALOG |
當 Database Engine 執行 BEGIN DIALOG 命令時,SQL Server 就會產生 BEGIN DIALOG 事件。 |
12 |
Dialog Created |
當 Service Broker 為對話建立端點時,SQL Server 會產生 Dialog Created 事件。 每當建立新的對話時,Service Broker 就會建立一個端點,不論目前的資料庫是否為該對話的起始端或目標。 |
13 |
END CONVERSATION WITH CLEANUP |
當 Database Engine 執行包括 WITH CLEANUP 子句的 END CONVERSATION 陳述式時,SQL Server 就會產生 END CONVERSATION WITH CLEANUP 事件。 |