このページでは、Amazon RDS SQL Server データベースから サポートされている宛先(BigQuery や Cloud Storage など)にデータをストリーミングするように変更データ キャプチャ(CDC)を構成する方法について説明します。
移行元データベースの変更データ キャプチャ(CDC)を有効にします。ソース データベース用の CDC を有効にするには、データベースに接続し、SQL プロンプト、ターミナル、または Amazon RDS ダッシュボードを使用して次のコマンドを実行します。
EXEC msdb.dbo.rds_cdc_enable_db 'DATABASE_NAME'DATABASE_NAMEは、ソース データベースの名前に置き換えます。変更をキャプチャする必要がある各テーブルで CDC を有効にします。
USE [DATABASE_NAME] EXEC sys.sp_cdc_enable_table @source_schema = N'SCHEMA_NAME', @source_name = N'TABLE_NAME', @role_name = NULL GO以下を置き換えます。
DATABASE_NAME: ソース データベースの名前SCHEMA_NAME: テーブルが属するスキーマの名前TABLE_NAME: CDC を有効にするテーブルの名前
SQL Server エージェントを起動し、常に実行していることを確認します。SQL Server エージェントが長時間停止すると、ログが切り捨てられ、Datastream で読み取られなかった変更データが完全に失われる可能性があります。
SQL Server エージェントの実行については、 SQL Server エージェントのインスタンスを開始、停止、または再起動するをご覧ください。
スナップショット分離を有効にします。
SQL Server データベースからデータをバックフィルする際は、整合性のあるスナップショットを確保することが重要です。このセクションで説明している設定を適用しない場合、バックフィル プロセス中にデータベースに加えた変更により、重複や誤った結果が生じる可能性があります。ストリームに主キーのないテーブルが含まれている場合は、スナップショット分離の設定を適用する必要があります。
スナップショット分離を有効にすると、バックフィル プロセスの開始時にデータベースの一時ビューが作成されます。これにより、他のユーザーが同時にライブテーブルに変更を加えた場合でも、コピーされるデータの整合性が確実に維持されます。スナップショット分離を有効にすると、パフォーマンスにわずかな影響を与える可能性がありますが、信頼性の高いデータ抽出には不可欠です。
スナップショット分離を有効にするには:
- SQL Server クライアントを使用してデータベースに接続します。
- 次のコマンドを実行します。
ALTER DATABASE DATABASE_NAME SET ALLOW_SNAPSHOT_ISOLATION ON;DATABASE_NAME は、データベースの名前に置き換えます。
Datastream ユーザーを作成する:
ソース データベースに接続し、次のコマンドを入力します。
USE DATABASE_NAME;Datastream で接続プロファイルを設定するときに使用するログインを作成します。