Sql-Server
Sql Server - 如何將審核日誌轉換為表?
我正在使用 Sql Server 2014,標準版。我的目標是跟踪表上的操作歷史(插入、更新、刪除),並顯示在網路上,以便使用者能夠了解過去數據發生了什麼。
所以,我才知道在 Sql Server 標準版中部分支持審計功能,並且能夠記錄一些操作,如附件。
我的問題是,如何將這些日誌儲存在適當的 Sql 表中,以便可以在網頁上訪問、檢索和顯示記錄?
目前,審核目標允許:文件、安全日誌、應用程序日誌……似乎無法直接從 ASP.NET API 檢索。
是否可以登錄到 SQL 表?
PS:
(如果我錯了,請糾正我)。許多人說標準版只允許伺服器級審計,但不允許數據庫級審計。但是,由於某些未知的原因,如果我添加了這 7 種審計類型(是的,7 種或無),我就能夠擷取和查看數據庫級別的操作。
在單個表上擷取 DML 操作是標準版中不可用的審計功能之一。
如果要跟踪 DML 操作,另一個可能的鉤子是擴展事件。您將無法使用審計包,但您可以使用獲取鎖的事件來擷取讀取和寫入操作。
我在這裡寫了一篇部落格:https ://spaghettidba.com/2015/04/20/tracking-table-usage-and-identifying-unused-objects/
其他選項包括:
- 觸發器:這很容易設置,甚至可以通過生成觸發器程式碼自動設置。缺點是增加的寫入成本。
- 應用端日誌記錄:如果您可以控制應用程序,則可以注入記錄對錶的訪問所需的程式碼。