sp_audit_write (Transact-SQL)

APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Adds a user-defined audit event to the USER_DEFINED_AUDIT_GROUP. If USER_DEFINED_AUDIT_GROUP is not enabled, sp_audit_write is ignored.

Topic link icon Transact-SQL Syntax Conventions

Syntax

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

Arguments

[ @user_defined_event_id = ] user_defined_event_id
A parameter defined by the user and recorded in the user_defined_event_id column of the audit log. @user_defined_event_id is type smallint.

[ @succeeded = ] succeeded
A parameter passed by user to indicate whether the event was successful or not. This appears in the succeeded column of the audit log. @succeeded is bit.

[ @user_defined_information = ] 'user_defined_information'
Is the text defined by the user and recorded in the new user_defined_event_id column of the audit log. @user_defined_information is nvarchar(4000).

Return Code Values

0 (success) or 1 (failure)

Failures are caused by incorrect input parameters or failure to write to the target audit log.

Remarks

When the USER_DEFINED_AUDIT_GROUP is added to either a server audit specification or a database audit specification, the event triggered by sp_audit_write will be included in the audit log.

Permissions

Requires membership in the public database role.

Examples

A. Creating a user-defined audit event with informational text

The following example creates an audit event with the id 27, the succeeded value of 0, and included optional informational text.

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

B. Creating a user-defined audit event without informational text

The following example creates an audit event with the id 27, the succeeded value of 0, and does not include optional informational text or the optional parameter names.

EXEC sp_audit_write 27, 0;  
  

See Also

Security Stored Procedures (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)
System Stored Procedures (Transact-SQL)