“更改跟蹤(Change Tracking)”和“變更數據捕獲(Change Data Chapture)”捕獲和記錄用戶表的DML更改(插入、更新和刪除操作),爲某些有特殊需求的應用程序服務。
(一)變更數據捕獲(可查詢歷史數據)
企業版功能
變更數據捕獲使用異步進程讀取事務日誌,獲取DML更改實際數據做爲數據捕獲的結果。在捕獲結果中,還包含更改相關的一些信息(例如更改的操作類型、更新操作影響的列等)。
應用程序可以從捕獲結果中獲取DML更改的全部數據,而無需查詢數據變更的原始表。
無法對系統數據庫和分發數據庫啓用變更數據捕獲。
變更數據捕獲的更改數據源爲 SQL Server 事務日誌。 在將插入、更新和刪除應用於跟蹤的源表時,將會在日誌中添加說明這些更改的項。 日誌用作變更數據捕獲進程的輸入來源。它會讀取日誌,並在跟蹤的表的關聯更改表中添加有關更改的信息。
(二)更改跟蹤(與數據更改同步)
所有版本均具有的功能
更改跟蹤捕獲表的數據行更改這一行爲,但不會捕獲更改的具體數據。捕獲的結果包含表的主鍵及相關的跟蹤信息(例如更改的操作類型、更新操作影響的列等)。
應用程序可以利用這個捕獲的結果來確定表的最新更新,並可以關聯原始來來獲取最新的數據。
更改跟蹤是一種輕量型解決方案,它爲應用程序提供了一種有效的更改跟蹤機制。
參考資料:
初探 SQL Server 2008 中的更改跟蹤與變更數據捕獲
http://blog.csdn.net/zjcxc/article/details/3975644
關於變更數據捕獲 (SQL Server)
http://technet.microsoft.com/zh-cn/library/cc645937.aspx
關於更改跟蹤 (SQL Server)