sp_audit_write (Transact-SQL)

适用范围:SQL Server

将用户定义的审核事件添加到 USER_DEFINED_AUDIT_GROUP。 如果未 USER_DEFINED_AUDIT_GROUP 启用, sp_audit_write 则忽略。

Transact-SQL 语法约定

语法

sp_audit_write [ @user_defined_event_id = ] user_defined_event_id
    [ , [ @succeeded = ] succeeded ]
    [ , [ @user_defined_information = ] N'user_defined_information' ]
[ ; ]

参数

[ @user_defined_event_id = ] user_defined_event_id

由用户定义并在审核日志列中记录 user_defined_event_id 的参数。 @user_defined_event_id较小

[ @succeeded = ] succeeded

用户为指示事件是否成功而传递的参数。 此值显示在 succeeded 审核日志的列中。 @succeeded

[ @user_defined_information = ] N'user_defined_information'

由用户定义并在审核日志的新 user_defined_event_id 列中记录的文本。 @user_defined_informationnvarchar(4000)。

返回代码值

0(成功)或 1(失败)。

失败是由不正确的输入参数引起的,或者无法写入目标审核日志。

注解

USER_DEFINED_AUDIT_GROUP将服务器审核规范或数据库审核规范添加到时,审核日志中将包含触发sp_audit_write的事件。

权限

需要公共数据库角色的成员身份。

示例

A. 使用信息文本创建用户定义的审核事件

以下示例创建一个审核事件,其值0为 <27a0@user_defined_event_id/>,并包含可选信息性文本。

EXEC sp_audit_write @user_defined_event_id = 27,
    @succeeded = 0,
    @user_defined_information = N'Access to a monitored object.';

B. 创建不带信息文本的用户定义审核事件

以下示例创建一@user_defined_event_id个审核事件,其值为、27@succeeded0和不包含可选信息性文本或可选参数名称。

EXEC sp_audit_write 27, 0;