ALTER SERVER AUDIT (Transact-SQL)

SQL Server の監査機能を使用して、サーバー監査オブジェクトを変更します。詳細については、「SQL Server 監査について」を参照してください。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

ALTER SERVER AUDIT audit_name
  
    TO { [ FILE ( <file_options> [, ...n] ) ] | APPLICATION_LOG | SECURITY_LOG }
    [ WITH ( <audit_options> [, ...n] ) ] 
}
| MODIFY NAME = new_audit_name
[ ; ]
<file_options>::=
{
       FILEPATH = 'os_file_path'
    [, MAXSIZE = { max_size { MB | GB | TB } | UNLIMITED } ]
    [, MAX_ROLLOVER_FILES =integer | UNLIMITED } ]
    [, RESERVE_DISK_SPACE = { ON | OFF } ] 
}
<audit_options>::=
{
    [  QUEUE_DELAY =integer ]
    [, ON_FAILURE = { CONTINUE | SHUTDOWN } ]
    [, STATE = = { ON | OFF } ]
}

引数

  • TO {FILE | APPLICATION_LOG | SECURITY}
    監査ターゲットの場所を指定します。バイナリ ファイル、Windows アプリケーション ログ、または Windows セキュリティ ログを指定できます。

    注意注意

    Windows XP では、セキュリティ ログへの書き込みは実行できません。

  • FILEPATH = 'os_file_path'
    監査記録のパス。ファイル名は、監査名と監査 GUID に基づいて生成されます。

  • MAXSIZE **=**max_size
    監査ファイルのサイズの上限を指定します。max_size の値は、整数の後に MBGBTB を付けて指定するか、または UNLIMITED を指定します。max_size に指定できる最小サイズは 2 MB、最大サイズは 2,147,483,647 TB です。UNLIMITED を指定した場合、ファイルはディスクがいっぱいになるまで拡張されます。2 MB 未満の値を指定すると、MSG_MAXSIZE_TOO_SMALL エラーが発生します。既定値は UNLIMITED です。

  • MAX_ROLLOVER_FILES **=**integer | UNLIMITED
    ファイル システム内に保持するファイルの最大数を指定します。MAX_ROLLOVER_FILES=0 が設定されている場合、作成されるロールオーバー ファイルの数は制限されません。既定値は 0 です。指定できるファイルの最大数は 2,147,483,647 です。

  • RESERVE_DISK_SPACE = { ON | OFF }
    このオプションは、ディスク上のファイルを MAXSIZE 値に事前に割り当てます。MAXSIZE が UNLIMITED でない場合にのみ適用されます。既定値は OFF です。

  • QUEUE_DELAY **=**integer
    監査アクションの処理が強制されるまでの経過時間 (ミリ秒) を指定します。値 0 は同期配信を表します。クエリ遅延に設定可能な最小値は 1000 (1 秒) で、これが既定値です。最大値は 2,147,483,647 (2,147,483.647 秒、つまり 24 日、20 時間、31 分、23.647 秒) です。無効な数値を指定すると、MSG_INVALID_QUEUE_DELAY エラーが発生します。

  • ON_FAILURE = { CONTINUE | SHUTDOWN }
    ターゲットで書き込みを実行できない場合に、ターゲットへのインスタンスの書き込みを続行するか停止するかを示します。これを発行するログインには、SHUTDOWN 権限が必要です。ログインにこの権限がないと、MSG_NO_SHUTDOWN_PERMISSION メッセージが表示され、この関数は失敗します。既定値は CONTINUE です。

  • STATE = { ON | OFF }
    監査によるレコードの収集を有効または無効にします。実行中の監査の状態を (ON から OFF に) 変更すると、監査が停止されたこと、監査を停止したプリンシパル、および監査が停止された時間を表す監査エントリが作成されます。

  • MODIFY NAME = new_audit_name
    監査の名前を変更します。他のオプションと組み合わせて使用することはできません。

説明

ALTER AUDIT を呼び出すときは、TO 句、WITH 句、MODIFY NAME 句のうち少なくとも 1 つを指定する必要があります。

監査を変更する場合は、監査の状態を OFF オプションに設定する必要があります。STATE=OFF 以外のオプションを使用して監査を有効にしているときに ALTER AUDIT を実行すると、MSG_NEED_AUDIT_DISABLED エラー メッセージが表示されます。

監査仕様の追加、変更、および削除は、監査を停止せずに実行できます。

監査を作成した後で、監査の GUID を変更することはできません。

権限

サーバー監査のプリンシパルを作成、変更、または削除するには、ALTER ANY SERVER AUDIT 権限または CONTROL SERVER 権限を持っている必要があります。

A. サーバー監査の名前を変更する

次の例では、サーバー監査 HIPPA_Audit の名前を HIPAA_Audit_Old に変更します。

USE master
GO
ALTER SERVER AUDIT HIPAA_Audit
WITH (STATE = OFF);
GO
ALTER SERVER AUDIT HIPAA_Audit
MODIFY NAME = HIPAA_Audit_Old;
GO
ALTER SERVER AUDIT HIPAA_Audit_Old
WITH (STATE = ON);
GO

B. サーバー監査のターゲットを変更する

次の例では、HIPPA_Audit というサーバー監査を、ファイル ターゲットに変更します。

USE master
GO
ALTER SERVER AUDIT HIPAA_Audit
WITH (STATE = OFF);
GO
ALTER SERVER AUDIT HIPAA_Audit
TO FILE (FILEPATH ='\\SQLPROD_1\Audit\',
          MAXSIZE = 1000 MB,
          RESERVE_DISK_SPACE=OFF)
WITH (QUEUE_DELAY = 1000,
       ON_FAILURE = CONTINUE);
GO
ALTER SERVER AUDIT HIPAA_Audit
WITH (STATE = ON);
GO

変更履歴

変更内容

権限に関するセクションを訂正しました。

MAX_ROLLOVER_FILES に UNLIMITED オプションを追加しました。

関連項目

参照

概念