ソース トランザクション テーブルの ID 列または日時列を使用して、トランザクション システムからデータ ウェアハウスをロードする際にデルタ検出を実装しました。次回データを抽出する必要がある場合は、前回抽出された最大の日時値を抽出クエリのフィルターで使用して、新しいレコードまたは変更されたレコードを識別します。同じミリ秒で複数のトランザクションがあった場合を除いて、これで十分でした。
しかし、現在、SQL Server 2008 には変更データ キャプチャ (CDC) があり、長さ 10 のバイナリである LSN (ログ シーケンス番号) と呼ばれる新しいものを提供しています。今、私は混乱しています。ウィンドウ処理の目的で保存する必要があるデータ (LSN または日時)。もちろん、LSN を使用すると、大きなトランザクション テーブルに追加の日時値を格納する必要がなくなりますが、これには欠点がありますか? どちらを使用する必要がありますか? LSNを日時にマッピングしてから日時を保存することは、信頼できる方法ではないと感じています。あなたの意見は何ですか?
PS: BI の専門家でない方、申し訳ありません。