当 Service Broker 确定消息的路由时,SQL Server 将生成 Broker:Message Classify 事件。
Broker:Message 对事件类数据列进行分类
| 数据列 | 数据类型 | DESCRIPTION | 列号 | 可筛选 |
|---|---|---|---|---|
| ApplicationName | nvarchar | 创建到 SQL Server 实例连接的客户端应用程序的名称。 此列由应用程序传递的值填充,而不是由所显示的程序名填充。 | 10 | 是的 |
| ClientProcessID | int | 主机分配给运行客户端应用程序的进程的 ID。 如果客户端提供了客户端进程 ID,则填充此数据列。 | 9 | 是的 |
| DatabaseID | int | USE 数据库 语句指定的数据库 ID,或者在特定实例中如果没有发出 USE 数据库 语句,则为默认数据库的 ID。 如果在跟踪中捕获 ServerName 数据列且服务器可用,SQL Server Profiler 将显示数据库名称。 可使用 DB_ID 函数来确定数据库的值。 | 3 | 是的 |
| EventClass | int | 捕获的事件类的类型。 始终为141,对于Broker:Message Classify。 | 二十七 | 否 |
| EventSequence | int | 此事件的序列号。 | 51 | 否 |
| EventSubClass | nvarchar | 事件子类的类型,提供有关每个事件类的详细信息。 此列可能包含以下值: 本地:所选路由具有 LOCAL 地址。 远程:所选路由的地址不为 LOCAL。 延迟:消息因转发被禁用或不存在匹配路由而延迟。 |
21 | 是的 |
| 文件名 | nvarchar | 消息定向到的服务名称。 | 36 | 否 |
| GUID | uniqueidentifier | 对话的ID。 此标识符作为消息的一部分传输,并在对话双方之间共享。 | 54 | 否 |
| HostName | nvarchar | 运行客户端的计算机的名称。 如果客户端提供了主机名,则填充此数据列。 若要确定主机名,请使用 HOST_NAME 函数。 | 8 | 是的 |
| IsSystem | int | 指示事件是发生在系统进程中还是发生在用户进程中。 1 = 系统,0 = 用户。 | 六十 | 否 |
| LoginSid | 图像 | 已登录用户的安全标识号 (SID)。 服务器中的每个登录名都具有唯一的 SID。 | 41 | 是的 |
| NTDomainName | nvarchar | 用户所属的 Windows 域。 | 7 | 是的 |
| NTUserName | nvarchar | 拥有生成此事件的连接的用户的名称。 | 6 | 是的 |
| OwnerName | nvarchar | 消息定向到的中转站标识符。 | 37 | 否 |
| RoleName | nvarchar | 指示消息是从网络接收还是源自此 SQL Server 实例。 | 三十八 | 否 |
| ServerName | nvarchar | 要跟踪的 SQL Server 实例的名称。 | 26 | 否 |
| SPID | int | SQL Server 分配给与客户端关联的进程的服务器进程 ID。 | 12 | 是的 |
| 开始时间 | 日期/时间 | 事件发生的时间(可用时)。 | 14 | 是的 |
| TargetUserName | nvarchar | 下一跃点代理的网络地址。 | 39 | 否 |
| TransactionID | bigint | 由系统分配的事务 ID | 4 | 否 |