Share via


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為smallint

[ @succeeded = ] 成功

用戶傳遞的參數,指出事件是否成功。 此值會出現在 succeeded 稽核記錄的數據行中。 @succeeded為 bit

[ @user_defined_information = ] N'user_defined_information'

使用者所定義的文字,並記錄在稽核記錄的新 user_defined_event_id 數據行中。 @user_defined_information是 nvarchar(4000)

傳回碼值

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

失敗是由不正確的輸入參數所造成,或無法寫入目標稽核記錄檔。

備註

USER_DEFINED_AUDIT_GROUP將 新增至伺服器稽核規格或資料庫稽核規格時,所sp_audit_write觸發的事件會包含在稽核記錄中。

權限

需要公用資料庫角色的成員資格。

範例

A. 使用參考文字建立用戶定義的稽核事件

下列範例會建立稽核事件,其 @user_defined_event_id 值為 27@succeeded 的值 0,並包含選擇性的資訊文字。

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;