2012-02-27 38 views
4

我知道這是可能利用變化跟蹤得到的SQL Server 2008中的更改一個表。 但是,我一直無法找到一種可接受的方式來查詢單個查詢中整個數據庫中的所有更改。如何在單個查詢中使用更改跟蹤從SQL Server數據庫獲取所有更改(或避免與數據庫聊天)?

這可能嗎?

你對寫一些動態SQL和使用EXEC的想法來完成這件事?有什麼可以指點我的例子嗎?

還有沒有其他的替代品,以監控特定的行/列的數據在SQL Server 2008需要比編寫和維護觸發器較小努力改變?我們的數據庫有超過1500個表,這不是一個選項。

感謝

回答

2

當我開始使用CDC這個網址幫我上手:http://www.mssqltips.com/sqlservertip/1819/using-change-tracking-in-sql-server-2008/

與CDC的缺點是,你不能看到誰改變數據,只要該數據已發生變化,以前的數據是什麼。 CDC僅適用於Enterprise,Developer和Evaltion版本。

在那裏我有審計數據的變化,您還可以使用審覈功能,可就是因爲SQL Server 2008中審計可以爲數據庫啓用,你可以看到哪些命令被執行誰特定表的情況。缺點是隻能看到執行的命令,而不執行命令前的數據。

這個網站可以幫助你決定哪些功能是您的情況更好。它描述了不同的方法和它們的優點和缺點:我總是避免使用觸發器,因爲它們會減慢插入,更新和刪除記錄的過程。

我希望這可以幫助你有點

相關問題