sp_audit_write (Transact-SQL)

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

适用范围:SQL Server(SQL Server 2012 到当前版本)。

主题链接图标 Transact-SQL 语法约定

语法

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

参数

  • @user_defined_event_id
    由用户定义并且记录在审核日志的 user_defined_event_id 列中的参数。 @user\_defined\_event\_id 的类型为 smallint。

  • @succeeded
    用户为指示事件是否成功而传递的参数。 它将出现在审核日志的成功列中。 @succeeded 的数据类型为 bit。

  • @user_defined_information
    由用户定义的文本,并且该文本将记录在审核日志的新的 user_defined_event_id 列中。 @user\_defined\_information 的数据类型为 nvarchar(4000)。

返回代码值

0(成功)或 1(失败)

失败是由不正确的输入参数或者未能写入目标审核日志导致的。

注释

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

权限

要求具有 public 数据库角色的成员身份。

示例

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

下面的示例创建一个审核事件,该事件具有 ID 27、成功值 0,并且包括可选信息文本。

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

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

下面的示例创建一个审核事件,该事件具有 ID 27、成功值 0,并且不包括可选信息文本或可选参数名称。

EXEC sp_audit_write 27, 0;

请参阅

参考

安全存储过程 (Transact-SQL)

sys.server_principals (Transact-SQL)

sp_addrole (Transact-SQL)

CREATE USER (Transact-SQL)

sp_dropuser (Transact-SQL)

sp_grantdbaccess (Transact-SQL)

sp_grantlogin (Transact-SQL)

系统存储过程 (Transact-SQL)