sp_audit_write (Transact-SQL)
向 USER_DEFINED_AUDIT_GROUP 添加用户定义的审核事件。 如果未启用 USER_DEFINED_AUDIT_GROUP,则将忽略 sp_audit_write。
适用范围:SQL Server(SQL Server 2012 到当前版本)。 |
语法
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;
请参阅
参考
sys.server_principals (Transact-SQL)