SQL Server Audit稽核(記錄)功能/policy原則(政策)
之前Trigger部份可以在insert、update、delete上輔助紀錄
但是沒辦法在Select中執行紀錄
若某日想查詢「誰」在「什麼時候查」了資料
這時可以動用到「稽核」的功能
翻譯叫稽核,不過比較像紀錄
程式碼:
至於要如何看呢?
在WINDOWS下:控制台\所有控制台項目\系統管理工具
中有個事件檢視器,以上指令會紀錄在其中
至於原則部份比較像是一個規範
例如我想要新新表中,新建的View都要"新"開頭
且要結構挷定,用原則就能達成
這邊用原始指令頗複雜的,所以用圖型化界面展示
最後一個有四個選項
視需要:由資料庫管理人員設定需要的時間
按排程時間:定時檢測此原測,如1個禮拜
變更時僅限紀錄:只紀錄
變更時避兔:不準做
但是沒辦法在Select中執行紀錄
若某日想查詢「誰」在「什麼時候查」了資料
這時可以動用到「稽核」的功能
翻譯叫稽核,不過比較像紀錄
程式碼:
--建出伺服器層級的稽核----------------------------- USE master CREATE SERVER AUDIT 我的稽核結果 TO APPLICATION_LOG --應用程式紀錄檔、安全性、檔案3個可以選 WITH ( QUEUE_DELAY = 1000 --延遲1秒 ,ON_FAILURE = SHUTDOWN --當無法紀錄,關閉SQL Server ) GO --建出資料庫層級的稽核----------------------------- USE 練練 CREATE DATABASE AUDIT SPECIFICATION [查過巨巨及匠匠] FOR SERVER AUDIT [我的稽核結果] ADD (SELECT ON OBJECT::[dbo].[匠匠] BY [public]), ADD (SELECT ON OBJECT::[dbo].[巨巨] BY [public]) GO --此筆記錄將會被記下 SELECT * FROM 巨巨
至於要如何看呢?
在WINDOWS下:控制台\所有控制台項目\系統管理工具
中有個事件檢視器,以上指令會紀錄在其中
至於原則部份比較像是一個規範
例如我想要新新表中,新建的View都要"新"開頭
且要結構挷定,用原則就能達成
這邊用原始指令頗複雜的,所以用圖型化界面展示
視需要:由資料庫管理人員設定需要的時間
按排程時間:定時檢測此原測,如1個禮拜
變更時僅限紀錄:只紀錄
變更時避兔:不準做
留言
張貼留言