Sql-Server

Sql Server - 如何將審核日誌轉換為表?

  • July 11, 2018

我正在使用 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/

其他選項包括:

  • 觸發器:這很容易設置,甚至可以通過生成觸發器程式碼自動設置。缺點是增加的寫入成本。
  • 應用端日誌記錄:如果您可以控制應用程序,則可以注入記錄對錶的訪問所需的程式碼。

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