当 Service Broker 收到损坏的消息时,SQL Server 将创建 Broker:Corrupted Message 事件。
中介:损坏信息事件类数据列
| 数据列 | 类型 | DESCRIPTION | 列号 | 可筛选 |
|---|---|---|---|---|
| ApplicationName | nvarchar | 创建到 SQL Server 实例连接的客户端应用程序的名称。 此列由应用程序传递的值填充,而不是由所显示的程序名填充。 | 10 | 是的 |
| BigintData1 | bigint | 此消息的序列号。 | 52 | 否 |
| BinaryData | 图像 | 信息正文 | 2 | 是的 |
| ClientProcessID | int | 主机分配给运行客户端应用程序的进程的 ID。 如果客户端提供了客户端进程 ID,则填充此数据列。 | 9 | 是的 |
| DatabaseID | int | USE 数据库 语句指定的数据库 ID,或者在特定实例中如果没有发出 USE 数据库 语句,则为默认数据库的 ID。 如果在跟踪中捕获 ServerName 数据列且服务器可用,SQL Server Profiler 将显示数据库名称。 可使用 DB_ID 函数来确定数据库的值。 | 3 | 是的 |
| 错误 | int | 事件中文本的 sys.messages 中的消息 ID 号。 | 31 | 否 |
| EventClass | int | 捕获的事件类的类型。 对于Broker:损坏的消息,始终为161。 | 二十七 | 否 |
| EventSequence | int | 此事件的序列号。 | 51 | 否 |
| 文件名 | nvarchar | 远程终结点的网络地址。 | 36 | 否 |
| GUID | uniqueidentifier | 损坏消息所属会话的会话 ID。 此标识符作为消息的一部分传输,并在对话双方之间共享。 | 54 | 否 |
| 主机名 | nvarchar | 运行客户端的计算机的名称。 如果客户端提供了主机名,则填充此数据列。 若要确定主机名,请使用 HOST_NAME 函数。 | 8 | 是的 |
| IntegerData | int | 此消息的片段编号。 | 二十五 | 是的 |
| IsSystem | int | 指示事件是发生在系统进程中还是发生在用户进程中。 1 = 系统,0 = 用户。 | 六十 | 否 |
| LoginSid | 图像 | 已登录用户的安全标识号 (SID)。 服务器中的每个登录名都具有唯一的 SID。 | 41 | 是的 |
| NTDomainName | nvarchar | 用户所属的 Windows 域。 | 7 | 是的 |
| NTUserName | nvarchar | 拥有生成此事件的连接的用户的名称。 | 6 | 是的 |
| ObjectName | nvarchar | 会话的另一端的服务名称和远程数据库用于连接到此数据库的连接字符串。 | 34 | 否 |
| RoleName | nvarchar | 接收此消息的终结点的角色。 以下值之一。 发起者: 接收终结点是会话的发起方。 目标: 接收终端是会话的目标。 |
三十八 | 否 |
| ServerName | nvarchar | 要跟踪的 SQL Server 实例的名称。 | 26 | 否 |
| 严重性 | int | 如果一个错误导致 SQL Server 删除消息,则该错误的严重性。 | 二十九 | 否 |
| SPID | int | SQL Server 分配给与客户端关联的进程的服务器进程 ID。 | 12 | 是的 |
| StartTime | 日期/时间 | 事件发生的时间(可用时)。 | 14 | 是的 |
| 州 | int | 指示生成事件的 SQL Server 源代码中的位置。 可能生成此事件的每个位置都有不同的状态代码。 Microsoft支持工程师可以使用此状态代码来查找生成事件的位置。 | 30 | 否 |
| TextData | ntext | 检测到的损坏说明。 | 1 | 是的 |
| 事务 ID | bigint | 由系统分配的事务 ID | 4 | 否 |
此事件的 TextData 列包含描述消息问题的消息。