SQL Server で変更の追跡を有効にする
プレビュー
LakeFlow Connect はゲート パブリック プレビュー段階です。 プレビューに参加するには、Databricks アカウント チームにお問い合わせください。
この記事では、SQL Serverで変更追跡を有効にする方法について説明します。 Databricks へのインジェストには、変更追跡または CDC が必要です。 選択するオプションのガイダンスについては、「 変更の追跡とチェンジデータキャプチャ」を参照してください。
データベースでの変更追跡の有効化
以下を実行し、 <database-name>
を変更追跡を有効にするデータベースの名前に置き換えます。 CHANGE_RETENTION
を、ゲートウェイがダウンする可能性がある最大時間に設定します。この時間が経過すると、ゲートウェイを再開するには完全な更新が必要になります。
ALTER DATABASE <database-name> SET CHANGE_TRACKING = ON (CHANGE_RETENTION = 3 DAYS, AUTO_CLEANUP = ON)
テーブルで変更の追跡を有効にする
以下を実行し、 <schema-name>.<table-name>
を変更追跡を有効にするスキーマとテーブルの名前に置き換えます。
ALTER TABLE <schema-name>.<table-name> ENABLE CHANGE_TRACKING
取り込まれたテーブルに対する VIEW CHANGE TRACKING の付与
ソース設定で説明されている権限に加えて、データベース・ユーザーには、取り込まれたテーブルまたは追跡対象のテーブルを含むスキーマに対するVIEW CHANGE TRACKING
権限が必要です。
スキーマレベルの権限を付与するには、次のコマンドを実行します。
GRANT VIEW CHANGE TRACKING ON SCHEMA::<schema-name> TO <cdc-username>;
テーブルレベルのパーミッションを付与するには、次のコマンドを実行します。
GRANT VIEW CHANGE TRACKING ON OBJECT::<schema-name>.<table-name> TO <cdc-username>;
DDL キャプチャとスキーマの進化を設定する
SQL Server コネクタは、取り込まれたデータベース オブジェクトのデータ定義言語 (DDL) を追跡し、関連するテーブル スキーマの変更を宛先テーブルに適用したり、完全なスキーマ レプリケーションの場合は新しいテーブルを追加したりできます。
DDL キャプチャを実行するには、追加のデータベース オブジェクトのセットアップが必要です (内部テーブル、ストアド プロシージャ、トリガーなど)。 このセクションで説明する T-SQL スクリプトは、既存の DDL サポート オブジェクトを削除し、データベースで発生する DDL の変更をキャプチャするために必要な DDL サポート オブジェクトを作成します。
DDL キャプチャとスキーマ進化を設定するには、次の操作を行います。
次の T-SQL スクリプトをダウンロードします。
スクリプトを変更して、
mode
値を設定します。BOTH
: CT オブジェクトと CDC オブジェクトの両方を初期化します (デフォルト)CT
: CT オブジェクトを初期化しますCDC
: CDC オブジェクトを初期化しますNONE
: 既存の CT オブジェクトと CDC オブジェクトをすべて削除します
レプリケートするテーブルを含む各データベースでスクリプトを実行します。