Sql-Server

DML 審計(“誰做了插入?”)

  • November 18, 2013

開箱即用的新創建數據庫(在 SQL Server 2008 中)是否保留任何 DML 審計記錄,例如:

  • 使用者 ‘George’ 於 2011 年 6 月 20 日在表 ‘Alpha’ 上進行了插入
  • 使用者“Fred”於 2011 年 6 月 21 日對錶“Beta”進行了刪除

如果是,我如何訪問該資訊?如果沒有,打開它的最簡單方法是什麼(我認為這些是審計選項)。

如果數據庫處於完全恢復模式並且日誌尚未備份或日誌備份可用,則事務日誌將具有此資訊。

有幾個第三方產品,例如 LiteSpeed for SQL Server 可以查看事務日誌。

如果數據庫處於簡單恢復模式,則此數據不會保留很長時間。

您可以手動創建適當的 DML 觸發器,但這也需要手動設置審核儲存庫。另一方面,該過程可以使用ApexSQL Audit自動化,這是一種用於 SQL Server 數據庫的審計工具,它擷取數據庫上發生的數據更改,包括有關誰進行更改、哪些對象受到影響、何時進行更改的資訊,以及用於進行更改的 SQL 登錄、應用程序和主機的資訊。它將所有擷取的資訊儲存在中央儲存庫中,並以列印友好格式導出 ApexSQL Audit 用於審計的技術基於觸發器。這些是使用其視覺化界面創建的,無需任何 T-SQL 知識。

免責聲明:我在 ApexSQL 擔任產品支持工程師

引用自:https://serverfault.com/questions/282834