
変更追跡には 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 ステートメントの実行とオブジェクト アクセスは追跡されません。