次の方法で共有


sp_audit_write (Transact-SQL)

適用対象: SQL サーバー

ユーザー定義の監査イベントを 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_idsmallint です。

[ @succeeded = ] ucceededed

イベントが成功したかどうかを示すためにユーザーによって渡されるパラメーター。 この値は、監査ログの 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によってトリガーされるイベントが監査ログに含まれます。

アクセス許可

public データベース ロールのメンバーシップが必要です。

A. 情報テキストを使用してユーザー定義の監査イベントを作成する

次の例では、27@user_defined_event_id値、0@succeeded値、およびオプションの情報テキストを含む監査イベントを作成します。

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

B. 情報テキストを含まないユーザー定義の監査イベントを作成する

次の例では、27@user_defined_event_id値、0@succeeded値を使用して監査イベントを作成します。省略可能な情報テキストや省略可能なパラメーター名は含まれません。

EXEC sp_audit_write 27, 0;