熱線電話:13121318867

登錄
首頁精彩閱讀 SQL Server 之 - 變更數據跟蹤 1?
SQL Server 之 - 變更數據跟蹤 1?
2014-12-04
收藏

 SQL Server 之 - 變更數據跟蹤 1


某些應用程序(比如數據倉庫系統)十分依賴于源系統的變更數據識別功能,它們期望源系統能夠提供一種高效低識別變更數據的能力。在SQLServer 2008之前并沒有原生態的解決方案,開發人員不得不通過使用觸發器、時間戳以及額外的表來實現該功能,在SQL Server2008之后,數據庫提供了兩種原生態的特性:Change Tracking(變更追蹤)Change Data Capture(變更數據捕獲)。

功能對比

簡單來講,所謂變更可以簡化為兩個問題:變更有沒有發生以及變更的類型;數據從什么變更到了什么。SQL Server變更追蹤的兩個功能的區別就在于對這兩個問題的回答。

Change Data Capture

變更時數據捕獲功能同時回答了上面的兩個問題,這意味著當我們對一條數據做操作之后,它不僅標示說這條記錄被變更過來,而且同時會標示數據的變動歷史。從底層實現來講,該功能使用了一個異步進程來讀取日志表從而將對系統的影響降到最小。

如下圖展示的,所有對某個用戶表所做的更改都會被存儲在相應的變動表中,這些變動表提供了變動的歷史視圖,記錄了隨時間變化而發生的更改:

Change Tracking

變更追蹤功能僅僅捕獲某條記錄被變更過,但是不會記錄數據的變動,這樣應用程序可以識別出那些記錄被更改過然后直接從基礎表中獲取最新的數據。這意味著變更追蹤功能無法回答一些歷史問題,但是這對于一些不需要知道歷史信息僅需要知道變動是否發生的應用程序來說相當實用,因為該功能需要更少的存儲空間。數據庫實用一種異步的追蹤機制來追蹤變更。

區別

下表列出了這兩個特性的區別,CDC機制涉及到從事務日志中捕獲變更,所以變更要在DML操作之后才能被捕獲到;ChangeTracking使用了內聯在DML操作中的異步變更追蹤技術,所以變更信息會立即可得。

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢