Sql-Server

在 SQL Server 中的表上發生的操作的歷史記錄

  • April 26, 2021

我正在執行一個 shell 腳本,該腳本在 SQL Server DB 中的表上執行插入、更新、刪除查詢。有沒有辦法獲取表上發生的所有事務的歷史記錄,以驗證它們是否按預期發生。這是發生的更新、插入和刪除的數量。以及可能發生的任何錯誤。

下面是 SQL Server 的一些開箱即用的功能,可以幫助您實現目標。在他們收集您需要的數據之前,您需要主動啟用/設置其中之一。

以供參考:

  1. 觸發器- 每當表中的數據更改時觸發,可以實現類似於在儲存過程上下文中的邏輯。
  2. 臨時表- 跟踪更改的使用者定義表的系統版本副本。
  3. 更改跟踪- 自動跟踪使用者定義表的更改。
  4. 更改數據擷取- 跟踪對指定使用者定義表的 DML 更改。
  5. 審計- 在伺服器級別自動跟踪大量操作。

首先我要提一下,如果應用了事務,您可能會期望得到正確的結果。在ACID中是C。

也許事務日誌是您正在尋找的功能。請在此處找到如何與之互動的快速指南。

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