この記事では、SQL 分析エンドポイントとは何か、Lakehouse との同期を維持する方法と、その同期を管理する必要があるコントロールについて説明します。SQL 分析エンドポイントは、変更を自動的に検出し、バックグラウンド プロセスを介してその SQL メタデータを更新します。 Fabric ポータル、REST API、または T-SQL ストアド プロシージャを使用して、SQL analytics エンドポイント メタデータを手動で更新することもできます。
メタデータ同期バックグラウンド プロセスは、OneLake の /Tables フォルダーから Delta ログを読み取り、SQL スキーマを最新の状態に保ちます。
Microsoft Fabricは、基になる lakehouse と SQL 分析エンドポイントの同期を自動的に維持します。 セットアップするインフラストラクチャはなく、ほとんどの場合、ユーザーアクションは必要ありません。 プラットフォームは次の点を担当します:
- テーブル検出 - レイクハウスで新しく作成または削除された Delta テーブルを検出し、エンドポイント内の対応する SQL テーブルを作成または削除します。
- データの鮮度 - 既存のテーブル内のデータに対して行われた変更(挿入、更新、削除)を検出し、クエリが最新の結果を返すことを保証します。
- スキーマ変更の検出 - 既存の Delta テーブルで列の追加、削除、または型の変更を検出し、対応する SQL テーブル定義を更新します。
この同期のしくみと、同期の待機時間に影響する要因の詳細については、 SQL 分析エンドポイントのパフォーマンスに関する考慮事項を参照してください。
スキーマ変更の検出とメタデータの同期
Fabric内のすべての Lakehouse、ウェアハウス、データベース、ミラー化されたデータベースは、独自の SQL 分析エンドポイントを使用して自動的にプロビジョニングされるため、データを移動またはコピーすることなく、T-SQL と TDS プロトコルを使用して Delta テーブルに対してクエリを実行できます。
- すべての Lakehouse、ウェアハウス、データベース、ミラー化されたデータベースには、SQL 分析エンドポイントが 1 つだけあります。
- 基になる項目の各 Delta テーブルは、エンドポイントの SQL テーブルとして自動的に表示されます。
- エンドポイントは自動生成されたテーブルに対して読み取り専用です。 独自の SQL スキーマ、ビュー、ストアド プロシージャ、関数を使用してモデルを拡張できます。
- エンドポイントは、Fabric Data Warehouseと同じコンピューティング エンジンを利用するため、開いている Delta ファイルに対する高パフォーマンスで待機時間の短い SQL クエリが提供されます。
新しいメタデータ同期 (プレビュー)
Important
この機能は プレビュー段階です。
2026 年 5 月、SQL 分析エンドポイントの新しいメタデータ同期がプレビュー機能として発表されました。 新しいメタデータ同期プロセスを有効にすることができます。これは、新しい SQL 分析エンドポイントにのみ適用されます。 新しいメタデータ同期オプションは、レイクハウスに着陸してから数秒以内にデータをクエリに使用できるように機能します。
新しいメタデータ同期プロセスには、次の機能が含まれています。
- Delta ログを解析し、カタログを作成するための新しい外部テーブル ベースのアーキテクチャ。
- スキーマとデータの変更を個別に検出し、それに応じてカタログを更新する分離アーキテクチャ。
- データの更新を定期的にチェックするバックグラウンド更新。
- 受信読み取りクエリが発生し、データが新しくないことをシステムが検出した場合の、データのオンデマンド更新。
新しいメタデータ同期を有効にする
ワークスペースの [ワークスペース設定] の [ ウェアハウス設定 ] に移動して、 ワークスペースで新しいメタデータ同期を有効にすることができます。
新しいメタデータ同期を有効にすると、基になるテーブルからの変更を更新すると、ワークスペース内の新しい SQL 分析エンドポイントの同期が高速になります。 現時点では、そのワークスペース内の既存の SQL 分析エンドポイントは、メタデータ同期のレガシ バージョンに残ります。
メタデータが最後に更新された日時を確認する
新しいバージョンのメタデータ同期を使用している場合は、動的管理ビュー (DMV) を使用して、SQL 分析エンドポイントの最新の更新に関する詳細を取得できます。
sys.dm_db_external_tables_log_status DMV を使用して、最新のメタデータ同期の詳細を取得します。
-
last_update_time_utc: テーブルが新しいデータで最後に更新された時刻のタイムスタンプ。 -
latest_log_version: 更新されたテーブルの Delta トランザクション ログの最大のバージョン番号。 -
latest_checkpoint_version: 処理された最新の Delta チェックポイント バージョン。 -
is_blocked: テーブル更新の最後の試行がブロックされた (1) か成功 (0) かを示します。
詳細については、「sys.dm_db_external_tables_log_status」 を参照してください。
新しいメタデータ同期の制限事項
- 新しいメタデータ同期では、非推奨のデルタ機能であるマルチパート チェックポイントはサポートされていません。 Lakehouse テーブルにマルチパート チェックポイントが含まれている場合、新しいメタデータ同期で更新に失敗します。
- ワークスペースでワークスペースのプライベート リンクを使用している場合、現在、新しいメタデータ同期を有効にすることはできません。
手動更新
データを自動的に更新するバックグラウンド プロセスに加えて、メタデータを手動で更新できます。
ポータルからの参照 : Fabric ポータルの SQL 分析エンドポイント エディターで、Explorer ツール バーの Refresh アイコンを選択して、オンデマンド メタデータ同期を強制します。SQL 分析エンドポイントQuery に移動し、ツール バーの更新ボタンを探します。REST API を使用した更新: SQL エンドポイントメタデータの更新 REST API を使用して、SQL 分析エンドポイントのメタデータをプログラムで更新します。
ストアド プロシージャを使用した更新: sys.sp_dw_refresh_ext_table システム ストアド プロシージャ を使用して、SQL 分析エンドポイント内の特定のテーブルのデータを更新します。 この T-SQL メソッドは、 新しいメタデータ同期 (プレビュー) を有効にした後に SQL 分析エンドポイントが作成された場合にのみ使用できます。 例えば次が挙げられます。
EXEC sys.sp_dw_refresh_ext_table "dbo.publicholidays";
テーブルまたは列の追加や削除、列の種類の変更など、スキーマの変更があり、項目全体を更新する必要がある場合にのみ、API を使用します。 SQL 分析エンドポイントのデータのみの変更については、 sys.sp_dw_refresh_ext_table システム ストアド プロシージャを使用して特定のテーブルを更新します。
基になる Delta テーブルをチューニングして、最適なメタデータ同期とクエリパフォーマンスを得るには、 SQL 分析エンドポイントのパフォーマンスに関する考慮事項を参照してください。