CREATE DATABASE AUDIT SPECIFICATION (Transact-SQL)
SQL Server 監査機能を使用して、データベース監査仕様オブジェクトを作成します。詳細については、「SQL Server 監査について」を参照してください。
構文
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
関連項目