Sql-Server

超過 1.000 個條目的伺服器審計

  • December 10, 2013

在我的 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 限制。

因此,不應該對生成的審計文件的大小或其中儲存的行數有任何限制。

引用自:https://dba.stackexchange.com/questions/54769