以下の手順では、Datastream で使用する Azure SQL データベースを構成する方法について説明します。
Azure SQL データベースを構成するには:
移行元 Azure SQL データベースの変更データ キャプチャ(CDC)を有効にします。これを行うには、Azure Data Studio または SQL Server Management Studio を使用してデータベースに接続し、次のコマンドを実行します。
EXEC sys.sp_cdc_enable_db; GO
変更を取得する必要があるテーブルで CDC を有効にします。
EXEC sys.sp_cdc_enable_table @source_schema = N'SCHEMA_NAME', @source_name = N'TABLE_NAME', @role_name = NULL GO
以下を置き換えます。
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 ユーザーを作成する:
master
データベースに接続して、ログインを作成します。USE master; CREATE LOGIN YOUR_LOGIN WITH PASSWORD = 'PASSWORD';
ソース データベースに接続して、ログイン用のユーザーを作成します。
USE DATABASE_NAME CREATE USER USER_NAME FOR LOGIN YOUR_LOGIN;
ユーザーに
db_owner
ロールとdb_denydatawriter
ロールを割り当てます。EXEC sp_addrolemember 'db_owner', 'USER_NAME'; EXEC sp_addrolemember 'db_denydatawriter', 'USER_NAME';
次のステップ
- Datastream と SQL Server ソースの連携の仕組みの詳細を確認します。