SQL 2008 での変更追跡

SQL 2008 での変更追跡

変更追跡には SQL Server 2008 のどのエディションが必要ですか? 私が読んだところによると、Change Data Capture には Enterprise が必要ですが、変更追跡が Standard で実行されることを期待しています。

TIAデイブ

答え1

変更追跡はすべてのエディションに含まれています。その主な目的は、ハンドヘルド デバイスなど、時々接続されるシステムのシナリオをサポートすることです。変更データ キャプチャは Enterprise のみです。

以下は、2008 年 11 月の TechNet Magazine に私が書いた特集記事です。SQL Server 2008: エンタープライズ データベースの変更の追跡では、Change Tracking または Change Data Capture が有効になっているシステムで DBA が遭遇する可能性のあるいくつかの問題点と、それらの拡張比較シートが提供されています。SQL Books Online チームの技術ライターと話をしたところ、彼らは、これら 2 つの機能のために BOL を少しアップグレードする必要があることを知っていました。TN Mag の記事は、現在、少し「アクセスしやすい」ものになっています。

変更追跡の主なものは、スナップショット分離も実際に使用する必要があることです -> tempdb ロード。

答え2

これを参照してください:

http://msdn.microsoft.com/en-us/library/bb522489.aspx(変更データキャプチャ)

この:

http://msdn.microsoft.com/en-us/library/cc280462.aspx(変更追跡)

この:

http://msdn.microsoft.com/en-us/library/cc280519.aspx(比較)

そして最後に、これは Express Edition で Change Tracking がサポートされていることを示しているようです。

http://social.msdn.microsoft.com/Forums/en-US/sqlexpress/thread/3452dd14-d4d1-48e0-9de4-a193619a72be

答え3

監査情報の違いを示し、説明する変更データキャプチャと変更追跡の比較もっと良い例をいくつか挙げます。

テーブル内のレコードを変更しました。変更箇所は、アドレスID 1、5、2の行の順にハイライト表示されます。

ここに画像の説明を入力してください

次に、AddressID = 32522 の行を追加し、その後削除しました。結果は次のとおりです。

ここに画像の説明を入力してください

表示されている値は、行われた変更を示しています。つまり、アドレス ID 1、2、5 の行に対する 3 回の更新と、アドレス ID = 32522 の行の削除です。32522 行が最初に挿入されたことは明確に示されていませんが、変更作成バージョン (ChCrVer) と変更バージョン (ChVer) の値 5 と 6 によると、2 つの変更がありました。2 番目は削除でしたが、最初の変更が何であったかはわかりません。

以下はChange Data Captureによって提供される情報です

ここに画像の説明を入力してください

__$operation = 1は削除された行、2は挿入された行、3は

列が最初に「1970 Napa Street」から「123 Street」に更新され、その後「99 Daisy Street」に更新された場合、3つのトランザクションすべてを取得することも、純(最終)値のみを取得することもできます。

ここに画像の説明を入力してください

ここに画像の説明を入力してください

変更追跡では変更内容と、変更が挿入、更新、削除のいずれであったかのみが表示されますが、変更データキャプチャでは変更された行に対して挿入、削除、または更新された値が表示されます。更新の場合、更新された行の古い値と新しい値の両方が表示されます。

この機能は、変更を行ったユーザーを追跡しません。追跡するには、ユーザーの詳細を保存し、変更ごとに更新する新しいフィールドを作成する必要があります。変更の時間と変更に使用されたマシンについても同様です。SELECT ステートメントの実行とオブジェクト アクセスは追跡されません。

関連情報