CREATE DATABASE AUDIT SPECIFICATION (Transact-SQL)
使用 SQL Server Audit 功能建立資料庫稽核規格物件。如需詳細資訊,請參閱<了解 SQL Server Audit>。
語法
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
這是一或多個資料庫層級可稽核的動作名稱。如需稽核動作的清單,請參閱<SQL Server Audit 動作群組和動作>。audit_action_group_name
這是一或多個資料庫層級可稽核的動作群組名稱。如需稽核動作群組的清單,請參閱<SQL Server Audit 動作群組和動作>。class
這是安全性實體上的類別名稱 (適用的話)。securable
這是資料庫中套用稽核動作或稽核動作群組的資料表、檢視表或其他安全性實體物件。如需詳細資訊,請參閱<安全性實體>。principal
這是套用稽核動作或稽核動作群組的 SQL Server 主體名稱。如需詳細資訊,請參閱<主體 (Database Engine)>。WITH ( STATE = { ON | OFF } )
啟用或停用從這個稽核規格收集而來之記錄的稽核。
備註
資料庫稽核規格是位於給定資料庫內的非安全性實體物件。當建立資料庫稽核規格之後,它就會處於停用狀態。
權限
具有 ALTER ANY DATABASE AUDIT權限的使用者可以建立資料庫稽核規格,並將其繫結至任何稽核。
在建立資料庫稽核規格之後,具有 CONTROL SERVER 或 ALTER ANY DATABASE AUDIT權限的主體,或是系統管理員 (sysadmin) 帳戶將可以檢視此規格。
範例
下列範例會針對 AdventureWorks2008R2 資料庫中的 HumanResources.EmployeePayHistory 資料表,建立稱為 Payrole_Security_Audit 的伺服器稽核,然後建立可由 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_50.MSSQLSERVER\MSSQL\DATA' ) ;
GO
-- Enable the server audit.
ALTER SERVER AUDIT Payrole_Security_Audit
WITH (STATE = ON) ;
GO
-- Move to the target database.
USE AdventureWorks2008R2 ;
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
請參閱