この記事では、VM DB Change Data Capture (CDC) ソースのSQL Serverをイベントストリームに追加する方法について説明します。
Fabric イベント ストリーム用の VM DB (CDC) ソース コネクタ上のSQL Serverを使用すると、VM 上のSQL Server データベース内の現在のデータのスナップショットをキャプチャできます。 現在、VM DB (CDC) 上のSQL Serverは、データベースにパブリックにアクセスできる次のサービスからサポートされています。
- Azure Virtual Machines における SQL Server
- Amazon リレーショナル データベース サービス (RDS) for SQL Server
SQL Server - Google Cloud SQL for SQL Server
注
Amazon Web Services (AWS) RDS SQL Server、AWS RDS Custom SQL Server、Google Cloud SQL SQL Serverでは、Express バージョンはサポートされていません。 CDC に適切なエディションのSQL Serverを使用していることを確認します。
VM DB (CDC) ソース上のSQL Serverがイベントストリームに追加されると、将来の行レベルの変更を監視して記録します。その後、リアルタイムで処理し、さまざまな宛先に送信してさらに分析できます。
注
DeltaFlow (プレビュー) を使用すると、未加工の Debezium CDC イベントを、ソース テーブル構造をミラーリングする分析対応ストリームに変換できます。 DeltaFlow を使用すると、スキーマの登録、宛先テーブルの管理、スキーマの進化の処理が自動化されます。 DeltaFlow を使用するには、スキーマ処理手順中に [Analytics 対応イベント] と [スキーマの自動更新 ] を選択します。
前提条件
- 共同作成者以上のアクセス許可を持つ、Fabric容量ライセンス モード (または試用版ライセンス モード) のワークスペースへのアクセス。
- VM データベースで実行中のSQL Server。
- VM データベース上のSQL Serverは、パブリック アクセスを許可するように構成する必要があります。 保護されたネットワークに存在する場合は、 Eventstream コネクタの仮想ネットワークインジェクションを使用して接続します。
- ストアド プロシージャ
sys.sp_cdc_enable_dbを実行して、VM データベース上のSQL Serverで CDC を有効にします。 詳細については、変更データ キャプチャを有効および無効にするを参照してください。
VM データベースでSQL Serverで CDC を有効にする
データベースの CDC を有効にします。
EXEC sys.sp_cdc_enable_db;ゲーティング ロール オプションを使用して、テーブルに対して CDC を有効にします。 この例では、
MyTableが SQL テーブルの名前です。EXEC sys.sp_cdc_enable_table @source_schema = N'dbo', @source_name = N'MyTable', @role_name = NULL GOクエリが正常に実行されたら、VM データベースのSQL Serverで CDC を有効にしました。
VM データベースのSQL Serverをソースとして追加する
まだ eventstream にソースを追加していない場合は、[ データ ソースの接続 ] タイルを選択します。 リボンの [ ソースの追加>データ ソースの接続 ] を選択することもできます。
既に公開されているイベントストリームにソースを追加する場合は、 編集 モードに切り替えます。 リボンで、[ソースの追加] >[データ ソースの接続] を選択します。
データ ソースの選択 ページで、SQL Server on VM DB (CDC) タイルの Connect を検索して選択します。
VM データベース上のSQL Serverを構成して接続する
CDC を介した自動テーブル スキーマ登録を使用して、VM データベース上のSQL Serverから Eventstream に変更データを取り込みます。
注
DeltaFlow (プレビュー):スキーマ処理手順で Analytics 対応イベントと自動更新されたスキーマ を選択すると、DeltaFlow は未加工の Debezium CDC イベントを、ソース テーブル構造をミラーリングする分析対応ストリームに変換します。 DeltaFlow では、変換先テーブルの作成とスキーマの進化処理も自動化されます。
接続ページで、新しい接続を選択します。
Connection 設定 セクションで、VM 上のSQL Serverに次の値を入力します。
サーバー: VM の IP アドレスまたはドメイン名を入力し、コロンとポートを追加します。 たとえば、IP アドレスが
xx.xxx.xxx.xxxでポートが 1433 の場合は、xx.xxx.xxx.xxx:1433フィールドに「」と入力する必要があります。 ポートが指定されていない場合は、既定のポート値1433が使用されます。Database: VM 上のSQL Serverに接続するデータベースの名前を入力します。
下にスクロールし、[接続資格情報] セクションで、次の 手順に従います。
接続名 には、接続の名前を入力します。
[認証の種類] で、[Basic] を選択します。
注
現在、Fabric Eventstream では、Basic 認証のみがサポートされています。
VM 上のSQL Serverに「Username と Password を入力します。
注
[暗号化された接続を使用する] オプションはオンにしないでください。
ページの下部にある [接続] を選びます。
[ 接続 ] ページで、[ すべてのテーブル] または [ テーブル名の入力] を選択します。 後者を選択する場合は、完全なテーブル識別子 (
schemaName.tableName) または有効な正規表現のコンマ区切りの一覧を使用してテーブルを指定します。 例えば次が挙げられます。-
dbo.test.*を使用して、名前がdbo.testで始まるすべてのテーブルを選択します。 -
dbo\.(test1|test2)を使用して、dbo.test1とdbo.test2を選択します。
両方の形式をコンマで混在させることができます。 エントリ全体の文字制限の合計は 102,400 文字です。
-
[詳細設定] を展開して 10 進数処理モードを構成できます。このモードでは、コネクタが列の値
DECIMALとNUMERICを処理する方法を指定します。-
Precise: 正確な 10 進型 (JavaBigDecimalなど) を使用して値を表し、データ表現の完全な精度と精度を確保します。 -
Double: 値を倍精度浮動小数点数に変換します。 この設定により、使いやすさとパフォーマンスが向上しますが、精度が低下する可能性があります。 -
String: 値を書式設定された文字列としてエンコードします。 この設定により、ダウンストリーム システムで簡単に使用できますが、元の数値型に関するセマンティック情報は失われます。
-
ストリームまたはソースの詳細
[ 接続 ] ページで、Eventstream または Real-Time ハブのどちらを使用しているかに基づいて、次のいずれかの手順に従います。
Eventstream:
右側の [ ソースの詳細 ] ウィンドウで、次の手順に従います。
[ソース名] で、[鉛筆] ボタンを選択して名前を変更します。
Eventstream 名と Stream 名は読み取り専用であることに注意してください。
リアルタイムハブ:
右側の [ストリームの詳細] セクションで、次の手順に従います。
イベントストリームを作成するFabricワークスペースを選択します。
"イベントストリーム名" の鉛筆ボタンを選択し、イベントストリームの名前を入力します。
Stream 名の値は、eventstream の名前に -stream を追加することによって自動的に生成されます。 このストリームは、ウィザードの終了時にリアルタイム ハブの [すべてのデータ ストリーム ] ページに表示されます。
[構成] ページの下部にある [ 次へ ] を選択 します。
確認して接続する
[ 確認と接続 ] 画面で概要を確認し、[ 追加] (Eventstream) または [接続 ] (Real-Time ハブ) を選択します。
スキーマ処理ページ
スキーマ処理手順で、次のいずれかのオプションを選択します。
- 分析対応イベントと自動更新スキーマ (DeltaFlow プレビュー):コネクタは、ソース テーブル構造をミラーリングする分析対応ストリームに未加工の CDC イベントを変換します。 DeltaFlow は、変更の種類 (挿入、更新、削除) やタイムスタンプなどのメタデータを使用してイベントを強化し、変換先テーブルとスキーマの進化を自動的に管理します。
- 未加工の CDC イベント: コネクタは、生の CDC イベントを取り込んで使用できるようにします。 必要に応じて、コネクタはテーブル スキーマを自動検出し、スキーマ レジストリに登録できます。 DeltaFlow 変換を使用せずにスキーマ認識を行う場合は、このオプションを使用します。
注
次のスクリーンショットは、CDC Azure SQL Database示しています。 スキーマ処理オプションは、サポートされているすべての CDC ソース コネクタで同じです。
イベント スキーマの関連付けを有効にします。
Workspace で、スキーマ セットのFabric ワークスペースを選択します。
[ スキーマ セット] では、[ + 作成 ] が既定で選択され、新しいスキーマ セットが作成されます。 既存のイベント スキーマ セットを選択するように変更できます。
前の手順で [+ 作成 ] オプションを選択した場合は、スキーマ セットの名前を入力します。
[ 確認と作成 ] 画面で概要を確認し、[ 追加] (Eventstream) または [接続 ] (Real-Time ハブ) を選択します。
VM データベース上のSQL Server内のすべてのテーブルまたは選択したテーブルに対して、コネクタはスキーマを自動検出して作成し、スキーマ レジストリに登録します。
DeltaFlow: Analytics 対応イベント変換 (プレビュー)
Analytics 対応イベントと自動更新スキーマ (DeltaFlow) を有効にすると、コネクタは次の機能を提供します。
-
分析対応のイベント形状: 生の Debezium CDC イベントは、ソース テーブル構造を反映する表形式に変換されます。 イベントは、変更の種類 (
insert、update、またはdelete) やイベントタイムスタンプなどのメタデータ列でエンリッチされます。 - 自動宛先テーブル管理: DeltaFlow 対応ストリームをイベントハウスなどのサポート対象の宛先にルーティングすると、変換先テーブルがソース テーブル スキーマと一致するように自動的に作成されます。 コピー先テーブルを手動で作成または構成する必要はありません。
- スキーマの進化の処理: ソース データベース テーブルが変更されると (たとえば、新しい列が追加されたり、テーブルが作成されたりすると)、DeltaFlow は変更を自動的に検出し、登録されたスキーマを更新し、それに応じて変換先テーブルを調整します。 この機能により、スキーマの変更による手動による介入が最小限に抑えられます。
注
DeltaFlow (プレビュー) は現在、AZURE SQL DATABASE CDC、Azure SQL Managed Instance CDC、VM CDC でのSQL Server、PostgreSQL CDC ソース コネクタでサポートされています。
DeltaFlow が未加工の CDC イベントを分析対応の出力 (操作の種類やメタデータ列など) に変換する方法の詳細については、「 DeltaFlow 出力変換」を参照してください。
更新されたイベントストリームを表示する
Eventstream に追加された SQL Server の VM DB CDC ソースは、Edit モードで見ることができます。
この新しく追加されたSQL Serverを VM DB CDC ソースに実装するには、Publish を選択します。 これらの手順を完了すると、VM DB CDC ソース上のSQL Serverが、Live ビューで視覚化できるようになります。
スキーマを使用するように Eventstream の宛先を構成する
現在、関連付けられたスキーマを持つ Eventstream では、Eventhouse、カスタム エンドポイント、および派生ストリーム変換先のみがサポートされています。 このセクションでは、イベントストリームに対して拡張機能 (スキーマ サポートなど) が有効になっている場合に Eventhouse 変換先を追加および構成する方法について説明します。
注
サポートされている変更データ キャプチャ (CDC) ソースで DeltaFlow (プレビュー) を使用すると、Eventhouse 内の変換先テーブルが自動的に作成され、ソース テーブルの構造と一致するように管理されます。 宛先テーブル スキーマを手動で構成する必要はありません。 DeltaFlow では、ソース テーブルが変更されたときにスキーマの進化も自動的に処理されます。
カスタム エンドポイント変換先のスキーマを構成する
[ イベントの変換] または [宛先の追加] を選択し、[ CustomEndpoint] を選択します。
[ カスタム エンドポイント ] ウィンドウで、宛先の名前を指定します。
[入力スキーマ] で、イベントのスキーマを選択します。 このボックスでは、イベントストリームのスキーマサポートを有効にするときに選択します。
カスタム エンドポイントの送信先を構成する詳細な手順については、「 カスタム エンドポイントまたはカスタム アプリの宛先をイベントストリームに追加する」を参照してください。
イベントハウスの宛先に対するスキーマを設定する
[ イベントの変換] または [宛先の追加] を選択し、[ Eventhouse] を選択します。
[Eventhouse] ウィンドウで、次のスキーマ関連の設定を構成します。
[入力スキーマ] で、ドロップダウン リストから 1 つ以上のスキーマを選択します。
注
Event Hubs ソースを構成するときに [ヘッダーによる動的スキーマ ] オプションを選択した場合は、ソースに対して複数のスキーマを構成し、それらをさまざまなプロパティとその値にマップしている可能性があります。
[テーブルの作成方法] では、要件に応じて、すべてのスキーマを結合した 1 つのテーブルを選択するか、スキーマごとに個別のテーブルを選択します。
[ データの書き込み方法] で、次のいずれかのオプションを選択します。
- ペイロードのみ: 抽出されたペイロード データをテーブルに書き込みます。 複数の入力スキーマがある場合、データは複数のテーブルに送信されます。
-
メタデータとペイロード: メタデータとペイロード データを 1 つのテーブルに書き込みます。 列の例には、
source、subject、type、およびdataがあります。
イベントハウスの宛先を構成する詳細な手順については、「 イベントストリームにイベントハウスの宛先を追加する」を参照してください。
DeltaFlow 分析対応の出力を表示する (プレビュー)
Analytics 対応イベントと自動更新スキーマ (DeltaFlow) を有効にした場合、変換先テーブルはソース データベース テーブルを反映する図形に自動的に作成されます。 各テーブルには、元の列と、変更の種類とタイムスタンプのメタデータ列が含まれます。
注
次のスクリーンショットは、CDC Azure SQL Database示しています。 DeltaFlow 変換先テーブルの出力は、サポートされているすべての CDC ソース コネクタで同じです。
未加工の Debezium CDC ペイロードを解析しなくても、Kusto クエリ言語 (KQL) またはその他の分析ツールを使用してこれらのテーブルに対してクエリを実行できます。
関連するコンテンツ
その他のコネクタ。