Microsoft SQL Server の組み込み CDC を有効にする
このページには古いコンテンツが含まれています。Databricks代わりにユーティリティ オブジェクト スクリプトを使用してSQL Server取り込みを準備するのステップに従うことをお勧めします。
Microsoft SQL Serverで組み込み変更データキャプチャ ( CDC ) を有効にする方法を学習します。 SQL Server コネクタを使用するには、変更追跡または CDC のいずれかを有効にする必要があります。Databricks では、ソース データベースの負荷を最小限に抑えるために、主キーを持つすべてのテーブルに対して変更追跡を使用することをお勧めします。変更追跡と CDC の両方が有効になっている場合、コネクタは変更追跡を使用します。どのオプションを選択するかについては、 「変更追跡と変更データ キャプチャ」を参照してください。
ソースデータベースの組み込みCDC有効にする
-
CDC を有効にするデータベースにログインします。
-
データベース コンテキストで次の T-SQL コマンドを実行します。
Azure SQL データベースとオンプレミスの SQL Server
SQLEXEC sys.sp_cdc_enable_dbAmazon RDS for SQL Server
SQLEXEC msdb.dbo.rds_cdc_enable_db '<database-name>'
詳細については、 SQL Serverドキュメントの「データベースの変更データ キャプチャを有効にする」を参照してください。
CDC保持期間を設定する
ゲートウェイがダウンする可能性のある最大時間 (分単位) に保持期間を設定します。この時間が経過すると、ゲートウェイを再開するには完全な更新が必要になります。
EXEC sys.sp_cdc_change_job @job_type = N'cleanup', @retention = 20160;
ソーステーブルで組み込みCDC有効にする
ソース テーブルで CDC を有効にするには、Azure SQL で次のストアド プロシージャを実行します。source_schema 、 source_name 、 role_nameの値を置き換えます。テーブルに主キーがある場合、 @support_net_changes 1の値のみをサポートします。
source_schema、source_name、role_nameの値を置き換えます。- テーブルに主キーがある場合、
@support_net_changes1の値のみをサポートします。
EXEC sys.sp_cdc_enable_table
@source_schema = N'MySchema',
@source_name = N'MyTable',
@role_name = NULL,
@supports_net_changes = 1
詳細については、 SQL Serverドキュメントの「テーブルの変更データ キャプチャを有効にする」を参照してください。
CDCスキーマに対する権限SELECT
ソース セットアップで説明されている権限に加えて、データベース ユーザーにはスキーマcdcに対するSELECT権限が必要です。このスキーマには、CDC が有効になったときに作成される変更テーブルが含まれています。次の T-SQL コマンドを実行します。
GRANT SELECT ON SCHEMA::cdc to <database-user>;
付与VIEW SERVER STATE (オンプレミスおよび RDS)
オンプレミスおよび RDS インスタンスの場合のみ、SQL Server エージェントのステータスを確認するために使用されるsys.dm_server_servicesクエリするにはVIEW SERVER STATE権限が必要です。次の T-SQL コマンドを実行します。
GRANT VIEW SERVER STATE to <database-user>