Audit Broker Conversation 事件类
SQL Server 创建了 Audit Broker Conversation 事件以报告与 Service Broker 对话安全有关的审核消息。
Audit Broker Conversation 事件类的数据列
数据列 | 类型 | 说明 | 列号 | 可筛选 |
---|---|---|---|---|
ApplicationName |
nvarchar |
与 SQL Server 实例建立连接的客户端应用程序的名称。此列由应用程序传递的值填充,而不是由所显示的程序名填充。 |
10 |
是 |
BigintData1 |
bigint |
消息序列号。 |
52 |
否 |
ClientProcessID |
int |
由主机分配给正在运行客户端应用程序的进程的 ID。如果客户端提供了客户端进程 ID,则填充此数据列。 |
9 |
是 |
DatabaseID |
int |
USE database 语句所指定的数据库的 ID;或者,如果没有为给定的实例发出 USE database 语句,则为默认数据库的 ID。如果在跟踪中捕获到 ServerName 数据列并且服务器可用,则 SQL Server Profiler将显示数据库的名称。若要确定数据库的值,请使用 DB_ID 函数。 |
3 |
是 |
Error |
int |
SQL Server 错误号(如果此事件报告了错误)。 |
31 |
否 |
EventClass |
int |
捕获的事件类的类型。对于 Audit Broker Conversation,始终为 158。 |
27 |
否 |
EventSubClass |
int |
事件子类的类型,提供有关每个事件类的更多信息。下表列出了此事件的事件子类值。 |
21 |
是 |
FileName |
nvarchar |
登录失败的原因。如果登录成功,则此列为空。 |
36 |
否 |
GUID |
uniqueidentifier |
对话的会话 ID。此标识符将作为消息的一部分进行传输,并在会话双方之间共享。 |
54 |
否 |
HostName |
nvarchar |
正在运行客户端程序的计算机的名称。如果客户端提供了主机名,则填充此数据列。若要确定主机名,请使用 HOST_NAME 函数。 |
8 |
是 |
IntegerData |
int |
消息片段数。 |
25 |
否 |
NTDomainName |
nvarchar |
用户所属的 Windows NT 4.0 或 Windows 2000 域。 |
7 |
是 |
NTUserName |
nvarchar |
拥有生成此事件的连接的用户的名称。 |
6 |
是 |
ObjectId |
int |
目标服务的用户 ID。 |
22 |
否 |
RoleName |
nvarchar |
会话句柄的角色。这可以是 initiator 或 target。 |
38 |
否 |
ServerName |
nvarchar |
所跟踪的 SQL Server 实例的名称。 |
26 |
否 |
Severity |
int |
在此事件报告错误时表示 SQL Server 错误的严重级别。 |
29 |
否 |
SPID |
int |
SQL Server 为客户端所关联的进程分配的服务器进程 ID。 |
12 |
是 |
StartTime |
datetime |
事件(如果有的话)的开始时间。 |
14 |
是 |
State |
int |
指示 SQL Server 源代码中生成该事件的位置。可能生成此事件的每个位置都有不同的状态代码。Microsoft 支持工程师可使用此状态代码查找生成该事件的位置。 |
30 |
否 |
TextData |
ntext |
|
1 |
是 |
下表列出了此事件类的子类值。
ID | 子类 | 说明 |
---|---|---|
1 |
No Security Header |
安全会话期间,Service Broker 接收到不包含会话密钥的消息。建立了安全会话后,对话协议要求会话中的所有消息都包含会话密钥。 |
2 |
No Certificate |
Service Broker 无法为会话中的某一名参与者找到可用的证书。为了保证会话安全,数据库必须同时包含会话发送方和接收方的证书。 |
3 |
Invalid Signature |
Broker 无法使用发送方证书中的公钥来验证发送方所提供的消息签名。这可能表示消息已损坏、消息被篡改、远程服务和本地服务没有配置相同的用户证书的或者证书已过期。 |
4 |
Run As Target Failure |
目标用户不具有对目标队列的接收权限。为了防止未经授权的用户接收消息,如果目标用户无法接收消息队列,则无论初始用户是否有权将消息排队,Service Broker 都不会将消息排队。 |