Sql-Server
超過 1.000 個條目的伺服器審計
在我的 Mssql 2008r2 上,我為所有登錄和註銷創建了伺服器審核:
USE MASTER GO CREATE SERVER AUDIT audit_test TO FILE (FILEPATH = 'D:\Audit') GO CREATE SERVER AUDIT SPECIFICATION audit_test_spec FOR SERVER AUDIT [audit_test] ADD (FAILED_LOGIN_GROUP), ADD (SUCCESSFUL_LOGIN_GROUP), ADD (LOGOUT_GROUP) WITH (STATE=ON) GO
對於最大文件空間,我設置了 1024 MB,綽綽有餘。
但是,當我從 SQL Server Management Studio 轉到 security/audits/audit_test/view 審核日誌時,它只顯示最新的 1.000 行。另一方面,審計產生的文件是 317 MB,所以我猜它有超過 1.000 行。
我什至嘗試設置過濾器,但沒有幫助:在最新的 1.000 之外沒有出現任何線。
如何閱讀審核日誌文件?
您是否嘗試過使用sys.fn_get_audit_file閱讀您的審計?
-- query all audit files in the D:\audit directory SELECT * FROM sys.fn_get_audit_file('D:\audit\*.sqlaudit', default, default)
您使用的 CREATE SERVER 審計 TSQL 命令未指定
MAXSIZE = { max_size } 預設值為無限制。
MAX_ROLLOVER_FILES ={ 整數 | 無限制} 預設值為無限制。
MAX_FILES =integer 指定可以創建的審計文件的最大數量。達到限制時不翻轉到第一個文件。當達到 MAX_FILES 限制時,任何導致生成其他審計事件的操作都將失敗並出現錯誤。
不確定 MAX_FILES 的預設值是多少,但它可能是大約 20 億的 FS 限制。
因此,不應該對生成的審計文件的大小或其中儲存的行數有任何限制。