首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 2008 審計功能部署全流程:創建審計、規範配置、啟用與日志分析

     編輯:關於SqlServer

SQL Server 審計架構

審計由三層組成:服務器審計對象(定義輸出目標)→ 審計規範(定義審計動作/對象)→ 啟用審計。支持輸出到二進制文件、Windows 安全日志、應用程序日志。

四步部署流程

步驟 1:創建服務器審計對象

USE master;
GO
CREATE SERVER AUDIT SrvAudit
TO FILE (
    FILEPATH = 'C:\AuditLogs\',   -- 目錄需存在,SQL Server 服務賬號需寫入權限
    MAXSIZE = 100 MB,             -- 單文件最大值
    MAX_ROLLOVER_FILES = 10,      -- 保留文件數,超過循環覆蓋
    RESERVE_DISK_SPACE = ON       -- 預分配空間,提升性能
)
WITH (
    QUEUE_DELAY = 1000,           -- 異步寫入延遲(ms),0=同步,>0=異步(性能優先)
    ON_FAILURE = CONTINUE         -- 寫入失敗策略:CONTINUE(繼續)/SHUTDOWN(關閉實例)
);
GO

步驟 2:創建審計規範

服務器級審計規範(實例範圍)

CREATE SERVER AUDIT SPECIFICATION SrvAuditSpec
FOR SERVER AUDIT SrvAudit
ADD (FAILED_LOGIN_GROUP),           -- 登錄失敗
ADD (SUCCESSFUL_LOGIN_GROUP),       -- 登錄成功
ADD (DATABASE_ROLE_MEMBER_CHANGE_GROUP), -- 角色變更
ADD (SERVER_ROLE_MEMBER_CHANGE_GROUP);   -- 服務器角色變更
GO

數據庫級審計規範(特定庫)

USE FinanceDB;
GO
CREATE DATABASE AUDIT SPECIFICATION DbAuditSpec
FOR SERVER AUDIT SrvAudit
ADD (SELECT, INSERT, UPDATE, DELETE ON SCHEMA::dbo BY public),  -- 核心表增刪改查
ADD (EXECUTE ON DATABASE::FinanceDB BY public);                  -- 存儲過程執行
GO

步驟 3:啟用審計

ALTER SERVER AUDIT SrvAudit WITH (STATE = ON);
GO
ALTER SERVER AUDIT SPECIFICATION SrvAuditSpec WITH (STATE = ON);
GO
ALTER DATABASE AUDIT SPECIFICATION DbAuditSpec WITH (STATE = ON);
GO

步驟 4:查看審計日志

方法一:T-SQL 讀取文件

SELECT event_time, action_id, succeeded, 
       server_principal_name, database_name, 
       object_name, statement
FROM sys.fn_get_audit_file('C:\AuditLogs\SrvAudit_*.sqlaudit', DEFAULT, DEFAULT)
WHERE event_time > DATEADD(HOUR, -24, GETDATE())
ORDER BY event_time DESC;

方法二:SSMS 圖形界面

對象資源管理器 → 安全性 → 審計 → 右鍵「查看審計日志」,支持篩選、導出。

關鍵配置決策表

決策點選項 A選項 B建議
輸出目標文件Windows 日志文件:易歸檔、可壓縮、跨平台分析;日志:集中化 SIEM 接入
QUEUE_DELAY0 (同步)1000+ (異步)核心業務 0 保證不丟失;高頻操作 1000-3000 平衡性能
ON_FAILURECONTINUESHUTDOWN生產通常 CONTINUE,配合監控告警;合規強要求 SHUTDOWN
MAXSIZE/ROLLOVER小文件多滾動大文件少滾動100MB/10-20 個,便於下載分析

最佳實踐提示

  • 審計文件目錄獨立磁盤,避免與數據/日志文件爭搶 IO。
  • 定期歸檔審計文件至冷存儲,滿足合規留存年限。
  • 結合 sys.dm_server_audit_status 監控審計狀態,異常自動告警。
  • 僅審計必要動作,過度審計導致性能下降與日志爆炸。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved