使用 Transact-SQL 建立及管理稽核
使用 Management Studio 或 Transact-SQL 執行 Transact-SQL 資料定義語言 (DDL) 陳述式、動態管理檢視和函數或目錄檢視時,您可以針對您的 SQL Server 環境建立簡單或複雜的 SQL Server Audit 方案。
參考主題
您可以使用 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 Audit 將會驗證建立或改變稽核規格的登入至少要有 ALTER ANY DATABASE AUDIT 權限。但是,當您附加資料庫時,它不會進行任何驗證。您應該假設所有資料庫稽核規格都與系統管理員 (sysadmin) 或 db_owner 角色中的主體一樣值得信任。 |
資料定義語言陳述式
您可以使用下列 DDL 陳述式來建立、改變和卸除稽核規格:
動態檢視和函數
下表列出可用於 SQL Server 稽核的動態檢視和函數。
動態檢視和函數 |
描述 |
---|---|
傳回稽核記錄檔中可報告的每一個稽核動作及 SQL Server Audit 中可設定之每一個稽核動作群組的資料列。 |
|
提供有關稽核之目前狀態的資訊。 |
|
傳回一個資料表,它會將稽核記錄檔中的 class_type 欄位對應到 sys.dm_audit_actions 中的 class_desc 欄位。 |
|
從伺服器稽核建立的稽核檔案中傳回資訊。 |
目錄檢視
下表列出可用於 SQL Server 稽核的目錄檢視。
目錄檢視 |
描述 |
---|---|
包含有關伺服器執行個體上 SQL Server 稽核內之資料庫稽核規格的資訊。 |
|
包含有關伺服器執行個體上所有資料庫的 SQL Server 稽核內之資料庫稽核規格的資訊。 |
|
針對伺服器執行個體中的每一個 SQL Server 稽核各包含一個資料列。 |
|
包含有關伺服器執行個體上 SQL Server 稽核內之伺服器稽核規格的資訊。 |
|
包含有關伺服器執行個體上 SQL Server 稽核內之伺服器稽核規格詳細資料 (動作) 的資訊。 |
|
包含有關伺服器執行個體上 SQL Server 稽核內之檔案稽核類型的存放區擴充資訊。 |