使用 Transact-SQL 建立和管理稽核

iSQlServer發表於2008-11-25

使用 Management Studio 或 Transact-SQL 執行 Transact-SQL 資料定義語言 (DDL) 語句、動態管理檢視和功能或目錄檢視,可以針對 SQL Server 環境建立簡單或複雜的 SQL Server 稽核解決方案。

 本部分內容
如何建立伺服器級稽核

如何建立資料庫級別稽核

 參考主題
可以使用 DDL 語句、動態管理檢視和函式以及目錄檢視來實現 SQL Server Audit 的所有方面。

許可權
SQL Server Audit 的每一個功能和命令都有其獨特的許可權需求。

若要建立、更改或刪除伺服器稽核或伺服器稽核規範,伺服器主體要求具有 ALTER ANY SERVER AUDIT 或 CONTROL SERVER 許可權。若要建立、更改或刪除資料庫稽核規範,資料庫主體必須對該資料庫具有 ALTER ANY DATABASE AUDIT 許可權或 ALTER 或 CONTROL 許可權。此外,主體還必須具有連線到資料庫的許可權,或 ALTER ANY SERVER AUDIT 或 CONTROL SERVER 許可權。

除非另有規定,否則主體具有以下身份或許可權之一才能檢視目錄檢視:

sysadmin 固定伺服器角色成員。

CONTROL SERVER 許可權。

VIEW SERVER STATE 許可權。

ALTER ANY AUDIT 許可權。

VIEW AUDIT STATE 許可權(僅允許主體訪問 sys.server_audits 目錄檢視)。

若要使用動態管理檢視,主體必須具有 VIEW SERVER STATE 或 ALTER ANY AUDIT 許可權。

有關如何授予許可權的詳細資訊,請參見 GRANT (Transact-SQL)。

注意:
具有 sysadmin 角色的主體可以篡改任意稽核元件;具有 db_owner 角色的主體可以篡改資料庫中的稽核規範。SQL Server 稽核將驗證建立或更改稽核規範的登入帳戶是否至少具有 ALTER ANY DATABASE AUDIT 許可權。但在您附加資料庫時,將不進行驗證。應只採用可信度相當於 sysadmin 或 db_owner 角色的主體的所有資料庫稽核規範。
 


資料定義語言語句
可以使用下列 DDL 語句建立、更改和刪除稽核規範。

ALTER AUTHORIZATION (Transact-SQL)

ALTER DATABASE AUDIT SPECIFICATION (Transact-SQL)

ALTER SERVER AUDIT (Transact-SQL)

ALTER SERVER AUDIT SPECIFICATION (Transact-SQL)

CREATE DATABASE AUDIT SPECIFICATION (Transact-SQL)

CREATE SERVER AUDIT (Transact-SQL)

CREATE SERVER AUDIT SPECIFICATION (Transact-SQL)

DROP DATABASE AUDIT SPECIFICATION (Transact-SQL)

DROP SERVER AUDIT (Transact-SQL)

DROP SERVER AUDIT SPECIFICATION (Transact-SQL)

動態檢視和函式
下表列出了可用於 SQL Server 稽核的動態檢視和函式。

sys.dm_audit_actions (Transact-SQL)
 為可在稽核日誌中報告的每項稽核操作以及可配置為 SQL Server Audit 一部分的每個稽核操作組返回一行。
 
sys.dm_server_audit_status (Transact-SQL)
 提供有關當前稽核狀態的資訊。
 
sys.dm_audit_class_type_map (Transact-SQL)
 返回一個表,將稽核日誌中的 class_type 欄位對映到 sys.dm_audit_actions 中的 class_desc 欄位。
 
fn_get_audit_file (Transact-SQL)
 從由伺服器稽核建立的稽核檔案返回資訊。
 

目錄檢視
下表列出了可用於 SQL Server 稽核的目錄檢視。

sys.database_ audit_specifications (Transact-SQL)
 包含針對伺服器例項的 SQL Server 稽核中的資料庫稽核規範的資訊。
 
sys.database_audit_specification_details (Transact-SQL)
 包含針對所有資料庫的伺服器例項的 SQL Server 稽核中的資料庫稽核規範的資訊。
 
sys.server_audits (Transact-SQL)
 針對伺服器例項中每個 SQL Server 稽核各顯示一行。
 
sys.server_audit_specifications (Transact-SQL)
 包含有關伺服器例項上 SQL Server 稽核中的伺服器稽核規範的資訊。
 
sys.server_audit_specifications_details (Transact-SQL)
 包含針對伺服器例項的 SQL Server 稽核中的伺服器稽核規範詳細資訊(操作)的資訊。
 
sys.server_file_audits (Transact-SQL)
 包含針對伺服器例項的 SQL Server 稽核中的檔案稽核型別的儲存擴充套件資訊。
 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-503174/,如需轉載,請註明出處,否則將追究法律責任。

相關文章