SQL 2008 中的變更追蹤

SQL 2008 中的變更追蹤

更改追蹤需要哪個版本的 SQL Server 2008?據我所知,變更資料擷取需要 Enterprise,我希望變更追蹤能夠按標準運行。

蒂亞·戴夫

答案1

每個版本都有更改追蹤 - 其全部目的是支援偶爾連接的系統場景 - 例如手持設備。變更資料擷取僅適用於企業。

以下是我在 2008 年 11 月為 TechNet 雜誌撰寫的專題文章:SQL Server 2008:追蹤企業資料庫中的更改,它給出了作為 DBA 在啟用了更改追蹤或更改資料擷取的系統上可能遇到的一些問題,以及它們之間的擴展比較表。透過與 SQL Books Online 團隊的技術作者交談,他們知道 BOL 需要針對這兩個功能進行一些升級 - TN Mag 文章現在更「易於存取」。

更改追蹤的主要一點是您也應該真正使用快照隔離 -> tempdb 載入。

答案2

答案3

顯示審核資訊的差異,並解釋比較變更資料擷取和變更跟踪更好,這裡有一些例子:

我修改了表中的記錄,更改突出顯示 - 地址 ID 為 1、5 和 2 的行按此順序

在此輸入影像描述

然後我新增了一行AddressID = 32522,然後將其刪除結果是:

在此輸入影像描述

顯示的值表示所做的更改 – 對 AddressID 1、2 和 5 的行進行了三次更新,並刪除了 AddressID = 32522 的行。 ChCrVer)和更改版本(ChVer)值分別為5和6,有2處更改。第二個是刪除,但我們不知道第一個是什麼

以下是 Change Data Capture 提供的信息

在此輸入影像描述

__$operation = 1是刪除的行,2是插入的行,3是先前更新的行

如果列首先從“1970 Napa Street”更新為“123 Street”,然後更新為“99 Daisy Street”,您可以獲得所有 3 筆交易,或者只是淨(最後)值

在此輸入影像描述

在此輸入影像描述

變更追蹤僅顯示變更的內容以及變更是插入、更新或刪除,而變更資料擷取則顯示為修改的行插入、刪除或更新的值。對於更新,它顯示更新行的舊值和新值

該功能不會追蹤進行更改的使用者。為此,您必須建立一個新字段,在每次變更後儲存和更新使用者的詳細資訊。更改時間和用於進行更改的機器也是如此。不追蹤 SELECT 語句的執行和物件訪問

相關內容