Azure Synapse Link for SQL 変更フィード

適用対象: SQL Server 2022 (16.x) Azure SQL DatabaseAzure Synapse Analytics

この記事では、SQL 変更フィード用の Azure Synapse Link のしくみと、SQL Server 2022 (16.x) および Azure SQL Database の新機能について詳しく説明します。

SQL Server 2022 (16.x) には、SQL Server テーブルと Microsoft Azure Synapse プラットフォームの間の接続を可能にする、Azure Synapse Link という新しい機能が含まれています。 Azure Synapse Link for SQL では、SQL Server 内の変更をキャプチャして Azure Synapse Analytics に読み込む、自動変更フィードが提供されます。

現在、この機能は Azure SQL Managed Instance では利用できません。

Note

Azure Synapse Link for SQL を有効にすると、ソース データベースで changefeed データベース ユーザー、changefeed スキーマ、およびその changefeed スキーマ内に複数のテーブルが作成されます。 これらのオブジェクトはいずれも変更しないでください。これらはシステムで管理されます。

ランディング ゾーン

Azure Synapse Link for SQL Server のランディング ゾーンの詳細については、「SQL Server ランディング ゾーンの Azure Synapse Link」を参照してください。

Azure Synapse Link for SQL Server には、Azure Data Lake Storage (ADLS) Gen2 ストレージ アカウントを含むユーザープロビジョニングされた Azure リソースが含まれますが、Azure SQL データベースの Azure Synapse Link は、ランディング ゾーンのプロビジョニングを含め完全に管理されており、この記事で説明されているように同様の変更検出プロセスを使用します。 詳細については、「Azure SQL データベース用 Azure Synapse Link」を参照してください。

SQL Server の場合、ランディング ゾーン Azure Storage の場所はカスタマー マネージドで表示可能ですが、ランディング ゾーン内のファイルの使用や変更は推奨もサポートもされていません。

変更フィード機能

SQL Server の管理者は、空のテーブルまたは既にデータが含まれているテーブルに対して Azure Synapse Link を有効にすることができます。 ソース テーブルには主キーが必要です。

既にデータが含まれているテーブルの場合、Azure Synapse Link は、ソース テーブルの初期完全スナップショットを使用してランディング ゾーンをシード処理します。 データを含む既存の SQL Server テーブルが Azure Synapse Link に追加されると、データの初期セットの完全なスナップショットが生成されます。 初期スナップショット ファイルは、ADLS Gen2 のランディング ゾーンに送信される .parquet 形式のファイルです。

Azure Synapse Link では、Azure Storage のランディング ゾーンへの、ソース テーブル変更の低待機時間のプッシュがサポートされます。 変更フィードでは、CSV ファイルを使用して、これらの変更を Azure Synapse に発行します。 この表形式は、行単位のデータ変更を (秒単位で) 高い頻度で書き込むのに当然ながら合います。 ほとんどの CSV ファイルは比較的小さいです。

変更キャプチャ

Azure Synapse Link 変更のキャプチャは、既存の変更データ キャプチャ (CDC) テクノロジと似ています。 変更データ キャプチャのソースは SQL Server トランザクション ログです。 変更フィードはログを読み取り、変更に関する情報をランディング ゾーンに追加します。

CDC は、トランザクション ログを収集して、1 つ以上のソース テーブルに対して実行されたすべての変更をキャプチャすることで機能します。

  • CDC では、変更データはデータベース内の兄弟テーブルに内部的に設定されます。
  • Azure Synapse Link では、データはデータベース トランザクション ログから直接読み取られ、メモリにキャッシュされ、最終的にAzure Storage のランディング ゾーンに書き込まれます。

ストレージの停止が発生すると、ランディング ゾーンが使用できなくなる可能性があります。これにより、そのランディング ゾーンへのパブリケーションがブロックされます。 SQL Server CDC ログ リーダー エージェントが失敗した場合や実行されていない場合の動作と同様に、ソース データベース トランザクション ログを切り捨てることはできません。 ストレージが長時間停止したり、ストレージ構成が変更されたりしてアクセスできなくなる場合は、Synapse Studio を介して Azure Synapse Link を停止します。

高可用性のサポート

SQL Server の Azure Synapse Link は、Always On 可用性グループとフェールオーバー クラスター インスタンス (FCI) と互換性があります。

初期スナップショットが進行中で、何らかの理由で中断された場合、初期スナップショットのエクスポート プロセスが再開されます。 これは、FCI または同期可用性グループで SQL Server がフェールオーバーした場合に発生します。

Fabric ミラー化データベース

Fabric ミラー化データベース機能では、Azure Synapse Link と同様の変更フィード テクノロジが使用され、一部のシステム オブジェクトが共有されます。 詳細については、以下を参照してください: