SQL Server 2008引進了一種新的審計性能,它能使DBA追蹤數據庫的使用並進行詳細審計。我們能在服務器和數據庫上安裝審計,在單獨的數據庫對象上激活並用各種不同的格式保存,如二進制文件或Windows Application日志。本文主要講述的是在SQL Server 2008中如何安裝安全審計。 在SQL Server 2008裡安裝審計,步驟如下:
1. 給每個SQL Server 2008具體實例創建一個SQL Server審計
2. 創建服務器審計規范、數據庫審計規范或者其中的一個
3. 激活SQL Server審計
4. 查看審計數據
在這一技巧中,我將復習其中的每一步並舉例說名它們怎麼進行的。注意大多數情況下這些例子是基於T-SQL語句的。但是,這些步驟也能夠用 SQL Server Management Studio界面來執行。如果想了解更多有關SQL Server Management Studio用法的信息,請查看 Microsoft SQL Server聯機叢書。
創建SQL Server審計
第一步你應該在SQL Server 2008的一個實例上創建審計,這樣就能創建一個SQL Server審計。審計就是為與數據庫引擎相關的具體事件集合配置的安全對象。你可以在SQL Server 2008裡的一個實例上創建多個審計。
在創建審計時,你必須給它指定一個名稱和事件輸出的目標位置。目標文件可以是二進制的文件、Windows Security日志或Windows Application日志。你還可以給審計對象指定一個或更多個可選參數。
你可以用CREATE SERVER AUDIT語句,如下所示:
USE master
GO
CREATE SERVER AUDIT SrvAudit
TO FILE (FILEPATH='C:\Data', MAXSIZE=5 MB)
WITH (QUEUE_DELAY = 3000)
注意,你必須在主數據庫中創建一個審計。由於審計是和SQL Server實例相聯系的,因此你不能在用戶數據庫中創建。
第一行的CREATE SERVER AUDIT語句僅規定審計名稱(如SrvAudit)。第二行的TO 子句確定事件輸出時的目標位置。例如,我想將輸出結果保存在文件中,所以我必須指定TO FILE並規定FILEPATH 值。注意這只是一個路徑名。SQL Server將自動命名輸出文件,如下所示:
<audit_name>_<audit_GUID>_<partition_number>.sqlaudit 在上面的例子中,TO FILE語句還包括了MAXSIZE參數,MAXSIZE參數將文件大小限制為5 MB。該參數是TO FILE子句可選參數之一。如果你將審計數據遷到Application日志或 Security 日志,你就只需要指定日志名選項,示例如下:
CREATE SERVER AUDIT SrvAudit2 TO APPLICATION_LOG WITH (QUEUE_DELAY = 3000)
就像你看到的一樣,TO FILE子句已經被TO APPLICATION_LOG子句所替代並且還沒有另外規定其他的參數。
最後一行在CREATE SERVER AUDIT 語句中的就是一個 WITH子句。該子句支持很多個選項,限制了創建審計的方法。在這種情況下,我使用的是QUEUE_DELAY參數並將它的值設為3000。這個參數指定了在創建審計之前要耗費的毫秒數並且。默認數字為 1000 毫秒(即1秒)。
要了解所有CREATE SERVER AUDIT 語句可選擇項和本篇文章中的其他語句,請查看Microsoft SQL Server聯機叢書。