次の方法で共有


CREATE DATABASE AUDIT SPECIFICATION (Transact-SQL)

SQL Server 監査機能を使用して、データベース監査仕様オブジェクトを作成します。詳細については、「SQL Server 監査について」を参照してください。

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

構文

CREATE DATABASE AUDIT SPECIFICATION audit_specification_name
{
    FOR SERVER AUDIT audit_name 
        [ { ADD ( { <audit_action_specification> | audit_action_group_name } ) 
      } [, ...n] ]
    [ WITH ( STATE = { ON | OFF } ) ]
}
[ ; ]
<audit_action_specification>::=
{
      action [ ,...n ]ON [ class :: ] securable BY principal [ ,...n ]
}

引数

  • audit_specification_name
    監査仕様の名前を指定します。

  • audit_name
    この仕様が適用される監査の名前を指定します。

  • audit_action_specification
    監査で記録する、セキュリティ保護可能なリソースに対するプリンシパルによるアクションの仕様を指定します。

  • action
    データベース レベルの 1 つ以上の監査可能なアクションの名前を指定します。監査アクションの一覧については、「SQL Server 監査のアクション グループとアクション」を参照してください。

  • audit_action_group_name
    データベース レベルの 1 つ以上の監査可能なアクション グループの名前を指定します。監査アクション グループの一覧については、「SQL Server 監査のアクション グループとアクション」を参照してください。

  • class
    セキュリティ保護可能なリソースのクラス名 (該当する場合) を指定します。

  • securable
    監査アクションまたは監査アクション グループを適用するデータベース内のテーブル、ビュー、またはその他のセキュリティ保護可能なオブジェクトを指定します。詳細については、「セキュリティ保護可能なリソース」を参照してください。

  • principal
    監査アクションまたは監査アクション グループを適用する SQL Server プリンシパルの名前を指定します。詳細については、「プリンシパル (データベース エンジン)」を参照してください。

  • WITH ( STATE = { ON | OFF } )
    監査による、この監査仕様についてのレコードの収集を有効または無効にします。

説明

データベース監査仕様は、セキュリティ保護できないオブジェクトであり、特定のデータベースに保存されます。作成されたデータベース監査仕様は無効な状態です。

SQL Server 監査に含まれるデータベース監査仕様の詳細については、sys.database_audit_specifications カタログ ビューを参照してください。

ユーザー データベースでデータベース監査の仕様を作成または変更するときは、システム ビューなど、サーバー スコープ オブジェクトの監査アクションは含めないでください。サーバー スコープ オブジェクトが含まれている場合、監査が作成されます。ただし、サーバー スコープ オブジェクトは対象にならず、エラーは返されません。サーバー スコープ オブジェクトを監査するには、master データベースのデータベース監査の仕様を使用してください。

権限

ALTER ANY DATABASE AUDIT 権限を持つユーザーは、データベース監査仕様を作成し、任意の監査にバインドできます。

データベース監査仕様の作成後は、CONTROL SERVER 権限または ALTER ANY DATABASE AUDIT 権限を持つプリンシパル、または sysadmin アカウントがその仕様を表示できます。

次の例では、Payrole_Security_Audit というサーバー監査を作成した後、AdventureWorks データベースの HumanResources.EmployeePayHistory テーブルで dbo ユーザーによる SELECT ステートメントと INSERT ステートメントを監査する、Payrole_Security_Audit というデータベース監査仕様を作成します。

USE master ;
GO
-- Create the server audit.
CREATE SERVER AUDIT Payrole_Security_Audit
    TO FILE ( FILEPATH = 
'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA' ) ;
GO
-- Enable the server audit.
ALTER SERVER AUDIT Payrole_Security_Audit 
WITH (STATE = ON) ;
GO
-- Move to the target database.
USE AdventureWorks ;
GO
-- Create the database audit specification.
CREATE DATABASE AUDIT SPECIFICATION Audit_Pay_Tables
FOR SERVER AUDIT Payrole_Security_Audit
ADD (SELECT , INSERT
     ON HumanResources.EmployeePayHistory BY dbo )
WITH (STATE = ON) ;
GO

関連項目

参照

概念