簡體   English   中英

數據庫操作跟蹤應用程序。 需要審核數據庫中所做的更改

[英]Database operations tracking Application. Need to audit the changes made in the db

我必須在 .Net 中創建一個應用程序,它將在不使用Triggers 的情況下跟蹤數據庫中存在的所有表中的數據更改。

我有一些想法可以實施以實現相同的目標。需要你們提供一些建議。

  1. 由於所有操作都將出現在 Sql Server 的fn_dblog表中,我必須根據表名讀取它們。
  2. 當任何DML命令被觸發時,我必須根據主鍵獲取新的和以前的數據,並將其保存在另一個表中,這將是我的 AuditingTable。

任何更多建議請啟發我並建議我這對於此類應用程序將是一個好的和有效的想法。 我使用 Sql Server 作為我的數據庫,我的應用程序將在 .Net 框架中。

我建議您使用內置功能: 更改數據捕獲

更改數據捕獲記錄應用於 SQL Server 表的插入、更新和刪除活動。 這使得更改的詳細信息以易於使用的關系格式提供。 將更改應用到目標環境所需的列​​信息和元數據針對修改后的行被捕獲,並存儲在反映所跟蹤源表的列結構的更改表中。 提供了表值函數以允許消費者系統地訪問更改數據。

這有很多優點:

  1. 它從事務日志中讀取,不參與實際事務

    更改數據捕獲的更改數據源是 SQL Server 事務日志。 當插入、更新和刪除應用於跟蹤的源表時,描述這些更改的條目將添加到日志中。

  2. 您可以為每個表啟用它。 這意味着由於並非所有表都需要更改(即查找表),因此您無需保留這樣的行。
  3. 您可以設置要保留這些表的歷史記錄的時間。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM