审计经纪人对话活动课程

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例

SQL Server 创建一个 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 捕获的事件类的类型。 总是 158Audit Broker Conversation 27
EventSubClass int 事件子类的类型,提供有关每个事件类的进一步信息。 下表列出了此事件的事件子类值。 21
FileName nvarchar 登录失败的原因。 如果登录成功,则此列为空。 36
GUID uniqueidentifier 对话的ID。 此标识符将作为消息的一部分进行传输,并在会话双方之间共享。 54
HostName nvarchar 正在运行客户端程序的计算机的名称。 如果客户端提供了主机名,则填充此数据列。 若要确定主机名,请使用函数 HOST_NAME 8
IntegerData int 消息片段数。 25
NTDomainName nvarchar 用户所属的 Windows 域。 7
NTUserName nvarchar 拥有生成此事件的连接的用户的名称。 6
ObjectId int 目标服务的用户 ID。 22
RoleName nvarchar 会话句柄的角色。 这要么是initiatortarget 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 如果发生错误,将显示一条用来说明失败原因的消息。 以下值之一:

Cert not found。 针对对话协议安全指定的用户没有证书。

Not in valid time period。 针对对话协议安全指定的用户有一份证书,但该证书已过期。

Cert too large for memory allocation。 针对对话协议安全指定的用户有一份证书,但该证书过大。 Service Broker 支持的最大证书大小为 32,768 字节。

Private key not found。 用于对话协议安全的用户拥有证书,但该证书没有私钥。

The cert's private key size is incompatible with the crypto provider。 证书的私钥大小无法被成功处理。 私钥大小必须是 64 字节的倍数。

The cert's public key size is incompatible with the crypto provider。 证书的公钥有一个无法成功处理的密钥大小。 公钥大小必须是 64 字节的倍数。

The cert's private key size is incompatible with the encrypted key exchange key。 密钥交换密钥中指定的密钥大小与证书私钥的大小不匹配。 这通常表明远程计算机上的证书与数据库中的证书不匹配。

The cert's public key size is incompatible with the security header's signature。 安全头包含一个无法用证书公钥验证的签名。 这通常表明远程计算机上的证书与数据库中的证书不匹配。
1

下表列出了该事件类的子类值。

ID 子类 描述
1 无安全头部 在一次安全对话中,Service Broker收到了一条不包含会话密钥的消息。 建立了安全会话后,对话协议要求会话中的所有消息都包含会话密钥。
2 无证书 Service Broker 找不到对话中一位参与者可用的证书。 为了保证会话安全,数据库必须同时包含会话发送方和接收方的证书。
3 无效签名 经纪人无法用发送方证书中的公钥验证发送方提供的消息签名。 这可能表明消息损坏、消息被篡改、远程服务和本地服务配置的用户证书不同,或者证书过期。
4 作为目标失败者 目标用户在目的地队列中没有接收权限。 为了防止未授权用户接收消息,Service Broker 不会将消息与无法从队列接收的目标用户一起排队,无论发起用户是否有排队权限。