审计代理对话事件类

SQL Server 创建 Audit Broker Conversation 事件,以报告与 Service Broker 对话安全性相关的审核消息。

Audit Broker Conversation 事件类数据列

数据列 类型 DESCRIPTION 列号 可筛选
ApplicationName nvarchar 创建到 SQL Server 实例连接的客户端应用程序的名称。 此列由应用程序传递的值填充,而不是由所显示的程序名填充。 10 是的
BigintData1 bigint 消息序列号。 52
ClientProcessID int 主机分配给运行客户端应用程序的进程的 ID。 如果客户端提供了客户端进程 ID,则填充此数据列。 9 是的
DatabaseID int USE 数据库 语句指定的数据库 ID,或者在特定实例中如果没有发出 USE 数据库 语句,则为默认数据库的 ID。 如果在跟踪中捕获 ServerName 数据列且服务器可用,SQL Server Profiler 将显示数据库名称。 可使用 DB_ID 函数来确定数据库的值。 3 是的
错误 int 如果此事件报告错误,则为 SQL Server 错误号。 31
EventClass int 捕获的事件类的类型。 对于 Audit Broker 对话,始终为 158 二十七
EventSubClass int 事件子类的类型,提供有关每个事件类的详细信息。 下表列出了此事件的事件子类值。 21 是的
文件名 nvarchar 登录失败的原因。 如果登录成功,则此列为空。 36
GUID uniqueidentifier 对话的ID。 此标识符作为消息的一部分传输,并在对话双方之间共享。 54
HostName nvarchar 运行客户端的计算机的名称。 如果客户端提供了主机名,则填充此数据列。 若要确定主机名,请使用 HOST_NAME 函数。 8 是的
IntegerData int 消息的分段编号。 二十五
NTDomainName nvarchar 用户所属的 Windows 域。 7 是的
NTUserName nvarchar 拥有生成此事件的连接的用户的名称。 6 是的
ObjectId int 目标服务的用户 ID。 22
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 对于错误,包含描述失败原因的消息。 以下值之一:

找不到证书。 为对话协议安全性指定的用户没有证书。

无效时间段。 为对话协议安全性指定的用户具有证书,但证书已过期。

证书太大,无法分配内存。 为对话协议安全性指定的用户具有证书,但证书太大。 Service Broker 支持的最大证书大小为 32,768 字节。

找不到私钥。 为对话协议安全性指定的用户具有证书,但没有与该证书关联的私钥。

证书的私钥大小与加密提供程序不兼容。 证书的私钥具有无法成功处理的密钥大小。 私钥大小必须是 64 个字节的倍数。

证书的公钥大小与加密提供程序不兼容。 证书的公钥具有无法成功处理的密钥大小。 公钥大小必须是 64 个字节的倍数。

证书的私钥大小与加密密钥交换密钥不兼容。 密钥交换密钥中指定的密钥大小与证书私钥的大小不匹配。 这通常表示远程计算机上的证书与数据库中的证书不匹配。

证书的公钥大小与安全标头的签名不兼容。 安全标头包含一个签名,该签名不能使用证书的公钥进行验证。 这通常表示远程计算机上的证书与数据库中的证书不匹配。
1 是的

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

身份证件 子类 DESCRIPTION
1 无安全标头 在安全会话期间,Service Broker 收到不包含会话密钥的消息。 建立安全对话后,对话协议要求会话中的所有消息都包含会话密钥。
2 无证书 Service Broker 找不到会话中某个参与者的可用证书。 若要保护会话,数据库必须同时包含会话的发件人和收件人的证书。
3 签名无效 中转站无法使用发件人证书中的公钥验证发件人提供的消息签名。 这可能表示消息已损坏、消息已被篡改、远程服务和本地服务未配置相同的用户证书或证书过期。
4 作为目标运行失败 目标用户对目标队列无接收权限。 为防止未经授权的用户接收消息,Service Broker 不会将消息排入队列中无法接收的目标用户,而不管发起的用户是否有权排队消息。

另请参阅

SQL Server Service Broker