回答
如果我們只談論一張桌子,那麼是的。如果有幾個表,那麼也許。如果有很多表需要審計,那麼不需要。
原因是您必須維護更多複製表的原因是它變得越複雜。此外,從許多表格報告可能變成一項艱鉅的任務。
這裏有一些其他的想法:
兩個表的設計存儲:做是爲了保持有關交易的細節在一個表(用戶,主機,交易時間,表名,數據庫名稱等),第二表中的數據更改(舊值,鍵等)
第三方工具:有幾種工具可以提供不同級別的審計。 ApexSQL Audit是一個基於觸發器的審計工具,ApexSQL Log更高級,可以審計權限和模式更改,Idera的Compliance manager是最先進的,甚至可以捕獲select語句。
更改數據捕獲:這是內置於SQL Server 2008+,但僅限於企業版本。
是的。它不是一張桌子。我計劃使用觸發器將更改和刪除的數據(整行)存儲到每個表的審計表中。所有的審計表都在同一個數據庫中。如果我使用CDC,很容易就能顯示一行數據的兩個版本之間的變化報告?在我的方法中,很容易顯示一行數據的兩個版本之間的差異,因爲整行可用... – zak
這將是非常簡單的,因爲內置了顯示此信息的系統函數,您也可以使用CDC模式查詢審計表。有關更多信息,請參見[this](https://www.simple-talk.com/sql/learn-sql-server/introduction-to-change-data-capture-(cdc)-in-sql-server-2008 /)。細節。 – Dwoolk
Renhold Software的[SQL Table Audit](https://renholdsoftware.com/SQLTableAudit)是另一個價格相對較低的第三方替代品。它通過生成觸發器來工作。 – rpearsondev
爲了解數據庫中每個表中所做的更改,我相信您應該使用LepideAuditor for SQL Server。通過此工具,您可以跟蹤有關在數據庫和SQL Server對象上執行的創建,更改,刪除活動的更改。 它詳細介紹了在這些對象上進行的所有操作的人員,時間和地點。
如果您打算保留表格的副本,我建議您查看數據庫快照。它將幫助您創建數據庫的只讀副本,並且可以輕鬆地還原表格並將其與快照進行比較。
關於SQL審計,開始時創建起來有點困難,但一旦您有一個工作,第二個審計將需要幾分鐘時間才能實施。
SQL Audit對於少數表格來說是一個不錯的選擇。如果您有多個,請使用更改數據捕獲或第三方工具,如Lepide或apexsql觸發器。
- 1. Oracle審計日誌
- 2. Breeze.js審計日誌
- 3. rails審計日誌
- 4. SQL審覈日誌運行總計
- 5. Docker的審計日誌
- 6. SQL - 審計日誌表設計 - 您更喜歡哪一個?
- 7. Powershell - 審計事件日誌
- 8. symfony1.4 propel1.5審計日誌
- 9. 如何審計日誌member.createuser
- 10. 用於審計日誌記錄的數據庫設計
- 11. 在SQL Server日誌記錄更改在審計表
- 12. 刪除與特定實體有關的審計日誌數據
- 13. 如何管理Azure的審計日誌
- 14. 審計與日誌記錄的區別?
- 15. 使用Spring AOP的審計日誌
- 16. SharePoint MOSS中的審計日誌記錄
- 17. Symfony的審計日誌,最佳實踐
- 18. SQL日誌數據庫設計
- 19. 如何在asp.net中創建審計日誌/審計跟蹤mvc
- 20. 簡單的SQL故障轉移計劃?日誌傳送?鏡像?
- 21. 數據庫中審計日誌(蹤跡)篡改
- 22. SQl服務器審計日誌文件中的'語句'屬性
- 23. Oracle系統日誌審計與oracle vault
- 24. Grails審計日誌記錄插件
- 25. ModSecurity審計日誌規則限制
- 26. 審計日誌Cassandra 2.2.8社區版
- 27. 審計日誌記錄插入
- 28. HDFS審計日誌格式和說明
- 29. SharePoint 2013 - 訪問資源審計日誌
- 30. Apex審計日誌 - 插入查詢
除了您或您的用戶/客戶,沒有人能說出什麼是「好主意」。這裏的業務要求是什麼?如果你在一個合法控制的環境中工作,在這個環境中你需要對每一個改變進行完整的審計跟蹤,那麼也許你需要爲每張桌子設置它,即使它工作更多。但也許這個要求只是跟蹤一個或兩個特定的表格,而且你可以做一些簡單的事情。如果你可以讓你的問題更加精確和技術性,你可能會得到更好的迴應。 – Pondlife