Broker:Remote Message Ack 事件类

当 Service Broker 发送或接收消息确认时,SQL Server 将生成 Broker:Remote Message Ack 事件。

Broker:Remote Message Ack 事件类的数据列

数据列

类型

说明

列号

可筛选

ApplicationName

nvarchar

与 SQL Server 实例建立连接的客户端应用程序的名称。此列由应用程序传递的值填充,而不是由所显示的程序名称填充。

10

BigintData1

bigint

包含确认的消息序列号。

52

BigintData2

bigint

确认后的消息的序列号。

53

ClientProcessID

int

由主机分配给正在运行客户端应用程序的进程的 ID。如果客户端提供了客户端进程 ID,则填充此数据列。

9

DatabaseID

int

由 USE database 语句指定的数据库的 ID。如果没有针对给定实例发出 USE database 语句,则为默认数据库的 ID。如果在跟踪中捕获到 ServerName 数据列并且服务器可用,SQL Server Profiler 将显示该数据库的名称。若要确定数据库的值,请使用 DB_ID 函数。

3

EventClass

int

捕获的事件类的类型。对于 Broker:Message Ack 始终是 149

27

EventSequence

int

此事件的序列号。

51

EventSubClass

nvarchar

事件子类的类型,提供有关每个事件类的详细信息。此列可能包含以下值。

  • Message With Acknowledgement Sent

    Service Broker 已将确认作为正常已编序的消息的一部分发送。

  • Acknowledgement Sent

  • Service Broker 已发送确认,但该确认不包括在正常已编序的消息内。

  • Message With Acknowledgement Received

    Service Broker 已收到确认,该确认包括在正常已编序的消息内。

  • Acknowledgement Received

    Service Broker 已收到确认,但该确认不在正常已编序的消息内。

21

GUID

uniqueidentifier

对话的会话 ID。此标识符将作为消息的一部分进行传输,并在会话双方之间共享。

54

HonorBrokerPriority

Int

数据库 HONOR_BROKER_PRIORITY 选项的当前值:0 = OFF、1 = ON。

32

HostName

nvarchar

正在运行客户端程序的计算机的名称。如果客户端提供了主机名,则填充此数据列。若要确定主机名,请使用 HOST_NAME 函数。

8

IntegerData

int

包含确认的消息的片段号。

25

IntegerData2

int

正在进行确认的消息的片段号。

55

IsSystem

int

指示事件是发生在系统进程还是发生在用户进程。

0 = 用户

1 = 系统

60

LoginSid

image

已登录用户的安全标识号 (SID)。服务器中的每个登录名都具有唯一的 SID。

41

NTDomainName

nvarchar

用户所属的 Windows 域。

7

NTUserName

nvarchar

拥有生成此事件的连接的用户的名称。

6

Priority

int

会话的优先级。

5

RoleName

nvarchar

正在确认消息的实例的角色。这可以是 initiatortarget

38

ServerName

nvarchar

正在跟踪的 SQL Server 实例的名称。

26

SPID

int

SQL Server 为客户端所关联的进程分配的服务器进程 ID。

12

StartTime

datetime

事件(如果有的话)的开始时间。

14

StarvationElevation

int

消息发送的优先级高于为会话配置的优先级:0 = false、1 = true。

33

TransactionID

bigint

系统为事务分配的 ID。

4