はじめに
Microsoft Fabric(以下 Fabric)では、オンプレミスの SQL Server から ほぼリアルタイムにデータをレプリケーション できる「Mirrored SQL Server Database(ミラーリング)」機能が提供されています。
これにより、
- 既存アプリケーションはそのままオンプレ SQL Server を使い続ける
- 分析・BI・AI だけを Fabric(クラウド)側に寄せていく
という ハイブリッドな構成 を比較的シンプルに実現できます。
なお、Microsoftの以下の動画も詳細アーキテクチャとデモをご参照ください。
https://www.youtube.com/embed/BtE1t9E--zo
本記事の内容は 2025 年 12 月時点の情報に基づいており、今後のアップデートで仕様が変わる可能性があります。
全体アーキテクチャのイメージ
なお、Microsoft 公式では以下のようなミラーリングのアーキテクチャを記載されています。

ミラーリングとは
Fabric における「ミラーリング」は、外部データベースの更新内容を OneLake 上のミラー用データベースに継続的にレプリケーションする仕組み です。
ミラーリングにはいくつか種類がありますが、本記事で扱うのは:
-
SQL Server からのデータベース ミラーリング
- オンプレ/IaaS 上の SQL Server データベース → Fabric OneLake(Delta テーブル)を継続的に同期する機能
ミラーリングを設定すると、Fabric ワークスペースには次の 2 つアイテムが作成さります。
-
Mirrored database (ミラー化されたデータベース) アイテム
- OneLake 上に Parquet/Delta 形式でデータを保持
-
SQL analytics endpoint
- 読み取り専用の SQL エンドポイント
- T-SQL でクエリ可能 & Power BI や他の Fabric ワークロードから利用可能
従来の「ETL パイプラインを自前で作る」構成と比べて、
“Zero-ETL に近い形” で、既存 SQL Server 資産を Fabric に参加させる
ことができるのがポイントです。
前提条件・対応バージョン
SQL Server 側
公式ドキュメントでは、ミラーリングの対象となる SQL Server のバージョンが明記されています。
-
SQL Server 2016 ~ 2022
- Windows 版(Standard / Enterprise / Developer)
- 一部 Linux 版(CU などの条件あり)
-
SQL Server 2025
- オンプレミス インスタンスでサポート
- Linux 版は現時点では未サポート、Azure VM 上の一部シナリオも制限あり
また、以下の条件も必要なので、公式ページから確認してください。
Fabric 側
- Fabric 容量(F シリーズなど)を保有しているこ
- 対象ワークスペースの メンバー / 管理者ロール を持つアカウント(Mirrored DB 作成に必要)
ネットワーク・データゲートウェイ
オンプレ SQL Server は通常、社内ネットワークやファイアウォール内にあります。そのため Fabric から直接は見えません。そこで登場するのが オンプレミス データ ゲートウェイ です。
- ゲートウェイは オンプレ側の Windows マシンにインストールするソフトウェア
- ゲートウェイ → Microsoft クラウド への アウトバウンド通信 のみで接続(外部からポートを開ける必要はない)
制限事項(ざっくり)
SQL Server のミラーリングには、いくつかの制限や注意点があります。詳細は必ず公式ドキュメントを確認してください。代表的なポイントだけ挙げると:
- 全てのテーブルが対象になるわけではない(主キー必須、特定の型や機能に制限あり)
- 一部のメタデータやオブジェクト(ビュー、一時テーブル等)はレプリケーション対象外
-
SQL analytics endpoint は読み取り専用
- ここから
INSERT/UPDATE/DELETEしてもソース側には反映されない
- ここから
- ソース側の RLS、Dynamic Data Masking などの細かいセキュリティ設定は
- Fabric 側で改めて設定し直す必要がある
それでは、各手順について以下のとおり確認しておきます。↓
ステップ1:オンプレミス データ ゲートウェイをインストール
1-1. ゲートウェイをダウンロード
オンプレミスの SQL Server と Microsoft Fabric(Power BI など)をつなぐために、
On-premises data gateway をダウンロードしてインストールします。
公式ダウンロードはこちら:
- On-premises data gateway(ダウンロードセンター)
- ゲートウェイの概要:On-premises データ ゲートウェイとは
- インストール手順:On-premises データ ゲートウェイのインストール
インストール先のマシンは、次のいずれかの構成が推奨です。
- SQL Server と 同一サーバー
- または、SQL Server に TCP 接続できる 同じネットワーク上の別サーバー
いずれの場合も、
- 常時起動していること(スリープしない)
- インターネットへ アウトバウンド通信(HTTPS) ができること
を前提とします。
1-2. インストールと登録
インストーラを実行し、セットアップウィザードに従って進めます。
- Fabric / Power BI と同じテナントのアカウントでサインイン
- ゲートウェイの種類は 標準モード を選択
- ゲートウェイの名前を付ける(例:
OPDG-SQL01) - 復旧キー(Recovery key)を設定し、安全な場所に保存しておく
(将来の移行・復旧時に必要になります)
インストール完了後は、Fabric / Power BI のポータル側で状態を確認します。
ゲートウェイの仕組みやアーキテクチャの詳細は、以下を参照すると理解しやすいです。
ステップ2:SQL Server との接続を作成
2-1. オンプレ SQL Server との接続情報を設定する
-
Fabric(または Power BI サービス)のポータルで
右上の歯車アイコン → 「接続とゲートウェイの管理」 → 「接続」タブ → 「+新規」 をクリックします。

-
オンプレミス データ ゲートウェイ経由で SQL Server に接続するための情報を入力します。
-
ゲートウェイ クラスター名:
ステップ1で登録したゲートウェイ(例:OPDG-SQL01)を選択します。 -
接続名:
Fabric からオンプレ SQL Server への接続名です。あとで見ても分かりやすい名前にします。
例)Connect-SQL2022-SalesDbやConnect-<接続先SQLサーバー>-<接続DB名> -
接続の種類:
SQL Serverを選択します。 -
サーバー:
対象の SQL Server のインスタンス名または FQDN を指定します。
例)SQLSERVER01やSQLSERVER01.mycorp.local -
データベース:
接続したいデータベース名を指定します(例:SalesDb)。
-
ゲートウェイ クラスター名:
-
認証・プライバシーレベルを設定します。
-
必要な項目をすべて入力したら、画面下部の 「作成」 をクリックします。
-
一覧画面に戻り、作成した接続が オンライン になっていることを確認します。
SQL Server への接続では、事前にログインおよびデータベース ユーザーの作成が必要になります。
具体的な T-SQL の例や必要な権限については、以下の Microsoft 公開ドキュメントを参考に準備してください。
ステップ3:Fabric で Mirrored SQL Server database を作成
ここからは Fabric ポータル上での操作 になります。
参考ドキュメント:
3-1. Mirrored database アイテムの作成
-
Fabric ポータル(例:https://app.fabric.microsoft.com)にアクセスします。
-
対象のワークスペースを開きます。
-
左上の 「+ 新規」(Create) をクリックします。
-
ミラーリングの設定画面で、ステップ2で作成した SQL Server への接続 を下部の一覧(接続/データソース)から選択します。

-
オンプレ SQL Server 側のテーブル一覧が表示されるので、ミラーリング対象としたいテーブル を選択し、右下の 「接続」 をクリックします。
また、必要に応じて画面下部のオプション
「今後ソースに追加される新しいテーブルも自動的にミラー化する」(「新しいテーブルを自動的にレプリケート」等の表記)
を有効にしておくと、後から追加されたテーブルも自動でコピー先にレプリケートされます。

-
最後に、作成する ミラー化 SQL Server データベースの名前 を入力し(例:
SalesDB_Mirror)、画面右下の 「ミラー化されたデータベースを作成する」 をクリックします。

クリック後、初回のフル レプリケーション処理が自動的に開始され、状態が「レプリケート中」と表示されます。

データベースのサイズやネットワーク状況によって時間がかかる場合があるため、レプリケーション処理が完了するまで待ちます。
完了すると状態が「正常」や「実行中(Running)」などに変わります。

-
ミラーリングが完了すると、ワークスペースにミラー化されたデータベース アイテムが追加されていることを確認できます。

該当のミラー化 DB アイテムをクリックし、レプリケーションの状態が「正常」になっているか、エラーが発生していないかを確認します。

ステップ4:ミラーリングの状態と SQL analytics endpoint を確認
ミラーリングが動き始めると、Fabric ワークスペースには次の 2 つのアイテムが表示されます。
-
SalesDb_Mirror(Mirrored database アイテム) -
SalesDb_Mirror (SQL analytics endpoint)のような SQL analytics endpoint アイテム
SQL analytics endpoint についての公式説明は以下が参考になります。
ここでは、最低限の確認ポイント をいくつか紹介します。
4-1. ワークスペース上での状態確認
- Fabric ポータルで対象ワークスペースを開きます。
-
SalesDb_Mirror(Mirrored database)と
SalesDb_Mirror (SQL analytics endpoint)の 2 つが表示されていることを確認します。 -
SalesDb_Mirrorのステータス列が 「正常」 または 「実行中(Running)」 になっていることを確認します。- ここがエラーになっている場合は、レプリケーションに失敗している可能性があります。
4-2. SQL analytics endpoint からデータを確認する
-
SalesDb_Mirror (SQL analytics endpoint)アイテムをクリックして開きます。 -
上部メニューから 「新しい SQL クエリ」 を選択し、クエリエディタを開きます。
-
結果にオンプレ SQL Server 側のデータが表示されれば、
ミラーリングと SQL analytics endpoint の動作が確認できた ことになります。
ℹ️ 補足(読み取り専用であることの確認)
SQL analytics endpoint は 読み取り専用 です。
試しに INSERT や UPDATE を実行すると、「データ操作ステートメントは許可されていません」といったエラーになります。
4-3. 接続元の SQL Server で行を追加し、ミラー化 DB 側で反映を確認する
-
まず、オンプレ側の SQL Server で対象テーブルに対して
INSERTを実行し、新しい行を追加します。
(例として SSMS から実行)

-
オンプレ側の SQL Server で
SELECTを実行し、対象テーブルに新しい行が追加されていること を確認します。

-
次に、Fabric 側のミラー化 DB で同じテーブルを開き、最新のデータにレプリケートされているか を確認します。
(テーブル プレビュー画面やデータ グリッドで、先ほど追加した行が見えることを確認)

-
さらに、SQL analytics endpoint を開き、同じテーブルに対して
SELECTを実行して、
追加した行が クエリ結果にも反映されていること を確認します。

このように、オンプレ SQL Server での変更が、ミラー化 DB および SQL analytics endpoint に反映されていれば、ミラーリングが正しく動作していることを確認できます。
(!! ここから応用編 !!)
ステップ5:ミラー済みデータの応用編
(セマンティックモデル/Lakehouse ショートカット連携)
ここからは 応用編 として、
- ミラー化したデータを セマンティックモデル(Power BI) として利用する方法
- ミラー化したデータを Lakehouse のショートカット として利用する方法
の 2 パターンを紹介します。
セマンティックモデル関連
Lakehouse ショートカット関連
5-1. ミラー化したデータをセマンティックモデルとして利用する
シナリオ例
- オンプレ SQL Server 上の販売データ(
SalesDb)をミラー化する -
SalesDb_Mirrorの SQL analytics endpoint を使って
Power BI レポート用の セマンティックモデル を作成する
このときの全体フローは次のようになります。
オンプレ SQL Server のデータ
↓ (ミラーリング)
OneLake 上の SalesDb_Mirror(Mirrored database)
↓ (SQL analytics endpoint)
Power BI セマンティックモデル化
↓
Power BI レポート/ダッシュボード
5-1-1. Fabric ポータルからセマンティックモデルの作成と接続
-
Fabric ポータルでワークスペースを開く
- 対象のワークスペースを開き、
SalesDb_MirrorとSalesDb_Mirror (SQL analytics endpoint)が表示されていることを確認します。
- 対象のワークスペースを開き、
-
SQL analytics endpoint アイテムを開く
-
SalesDb_Mirror (SQL analytics endpoint)をクリックして開きます。
-
-
新しいセマンティックモデルを作成する
-
ダイアログで各項目を設定する
-
作成を実行する
-
すぐにレポートを作成して確認する
5-1-2. PBI Desktop からセマンティックモデルの作成と接続
より高度なモデリング(複雑なメジャー、計算列、詳細なリレーション設計など)を行いたい場合は、
Power BI Desktop から SQL analytics endpoint に接続し、
- Import
- DirectQuery
- Direct Lake(条件が揃う場合)
といったモードでセマンティックモデルを構築することもできます。
手順
-
Power BI Desktop を起動してサインイン
-
データ取得を開始する
- メニューの 「データを取得」 から、環境に応じたコネクタを選択します。
例:- 「OneLake」
- 「SQL Server データベース」
- 「Microsoft Fabric」コネクタ など
- メニューの 「データを取得」 から、環境に応じたコネクタを選択します。
-
データソースとして Warehouse や SQL analytics endpoint を指定する
-
ストレージモードを選択する
接続時に Import / DirectQuery(環境によっては Direct Lake)の選択肢が表示されるので、要件に応じて選びます。 -
テーブル選択とモデリングを行う
-
レポート作成&発行
5-2. Lakehouse にミラー化した DB をショートカットとして作成する
シナリオ例
ミラー化された SalesDb_Mirror(Mirrored SQL Server database)を、
同じワークスペース内の Lakehouse(例:SalesLakehouse)から ショートカット(Shortcut) として参照し、
Lakehouse の他テーブルと一緒に分析・加工したいケースを想定します。
ショートカットを使うと、データをコピーせずに OneLake 上の既存データにリンクできるため、ストレージの重複を避けつつ、Lakehouse 側から一元的に扱えるようになります。
ショートカットの基本は、以下のドキュメントが参考になります。
手順:Lakehouse に Mirrored DB のショートカットを作成する
1. Lakehouse を作成し、設定する
-
ショートカットを追加したい Lakehouse(例:
SalesLakehouse)をクリックして開きます。 -
左側のメニューから 「テーブル」 を選択します。
2. ショートカット作成メニューを開く
- 「テーブル」画面の上部にある 「新しいテーブル」 または
⋯メニューから
「ショートカットの追加」(Add shortcut/New shortcut等)をクリックします。
- ショートカットの種類を選択する画面が表示されます。
ショートカットの種類やサポートされるソースについては、公式ドキュメントの
「Lakehouse でショートカットを作成する」が詳しいです。
3. データソースとして Mirrored SQL Server database を選択する
-
ショートカットの作成画面で、「OneLake」 または 「Fabric アイテム」 に相当する項目を選択します。
-
同じワークスペース、またはテナント内の OneLake カタログから、
ソースとしてSalesDb_Mirror(Mirrored SQL Server database) を選択します。

-
SalesDb_Mirror内のテーブル一覧が表示されたら、ショートカットを作成したいテーブルを選択します。
4. ショートカット名や配置を設定する
-
ショートカット名 を入力します。
-
配置先フォルダー を指定します(必要に応じて)。
- 例)
Tables配下に配置する、サブフォルダーを切るなど
- 例)
設定内容を確認したら 「作成」 ボタンを押してショートカットを作成します。
5. Lakehouse 側でショートカットを確認する
-
SalesLakehouseの「テーブル」ビューに戻ると、
先ほど作成したショートカット テーブルが一覧に表示されます。 - テーブルをクリックしてプレビューを表示し、
行データがSalesDb_Mirror側の内容と一致しているか確認します。

SQL 分析エンドポイントで Select 文などでクエリの結果を確認します。
ショートカットは リンク元のデータをそのまま参照する仕組み なので、
元の Mirrored DB 側の更新が反映される形で Lakehouse からも参照できます。
6. ショートカットと他テーブルの統合利用
ショートカットを作成すると、Lakehouse 側からは
- 通常の Delta テーブル
- Mirrored DB へのショートカット テーブル
を同じ「テーブル」一覧から扱えるようになります。
これにより、次のようなことが可能になります。
- Notebook(Spark)から、ショートカットテーブルと他の Lakehouse テーブルを JOIN
- Lakehouse の SQL エンドポイントから、ショートカットとローカルテーブルをまとめてクエリ
- Data Science / Data Engineering ワークロードで、ミラー化データを直接特徴量や集計に利用
コピーではなくショートカットで参照することで、
- データの二重管理を避けつつ
- Mirrored DB を Lakehouse の一部のように扱える
というメリットがあります。
より詳細な使い方や制約事項については、以下のドキュメントの
「制限事項」や「サポートされるソース」の章もあわせて確認しておくと安心です。
【※補足】CDC (Change Data Capture) の動きの確認
Fabric の SQL Server ミラーリングでは、差分の検出に
SQL Server の CDC(Change Data Capture) 機能が内部的に利用されています。
ミラーリングを有効にすると、対象データベースに対して CDC が自動的に構成され、
System Tables 配下に cdc スキーマのテーブルが追加されます。
1. ミラーリング直後の状態(Before)
ミラーリング設定を行った直後、アプリケーションからはまだ新しいデータを追加していない段階で、
データベースを SSMS で確認すると、次のように CDC 用のシステムテーブル が作成されていることが分かります。
cdc.change_tablescdc.captured_columns- 各テーブルごとの変更履歴テーブル
例)cdc.dbo_DimCustomer_CT、cdc.dbo_DimProduct_CT、cdc.dbo_FactSales_CTなど
この時点では、変更履歴テーブル(*_CT)の中身は空、または最小限の状態です。
2. データ変更後の状態(After)
- 例として、
dbo.DimCustomerテーブルにINSERT文で新しい顧客データを 1 件追加します。 - その後、
cdc.dbo_DimCustomer_CTなどの CDC テーブルをSELECTすると、
追加した行に対応するレコードが 変更履歴として追記 されていることを確認できます。
CDC の変更履歴テーブルには、次のような情報が含まれます。
-
__$start_lsn/__$end_lsn: トランザクションログ上の位置(どのトランザクションか) -
__$operation: 操作種別- 2 = INSERT
- 3 = UPDATE
- 4 = DELETE など
- 対象テーブルの列(
CustomerKey,CustomerCode,Cityなど)
これらの情報を基に、Fabric のミラーリングは
「どの行にどんな変更があったか」 を検出し、OneLake 側の Mirrored database を
最新状態に保つようにレプリケーションを行っています。
💡ポイント
CDC テーブルはあくまで 変更履歴管理用のシステムテーブル であり、
アプリケーションから直接更新することはありません。
ミラーリングの仕組みを理解したり、トラブルシュートを行う際に、
これらの CDC テーブルを参照してみると動きがイメージしやすくなります。
まとめ(クロージング)
この記事では、オンプレミスの SQL Server を Microsoft Fabric にミラーリングし、
そのデータを Fabric 上でどのように活用できるか を一通り確認しました。
ポイントを整理すると、ざっくり次の流れになります。
-
ステップ1〜4:基盤づくりと動作確認
- オンプレミス データ ゲートウェイをインストールし、Fabric からオンプレ SQL Server へ安全に接続できるようにする
- Mirrored SQL Server database を作成し、SQL analytics endpoint から
SELECTでデータを確認する - オンプレ側で
INSERT/UPDATEを行い、ミラー化 DB 側に変更が反映されることを確認することで、ミラーリングの動作を理解する
-
ステップ5(応用編):ミラー済みデータの使い道
- パターン1:ミラー化したデータをもとに セマンティックモデル(Power BI) を作成し、可視化・レポートを行う
- パターン2:同一ワークスペース内の Lakehouse に ショートカット を作成し、他の Lakehouse テーブルと統合して分析・加工する
特にミラーリングは、
「アプリケーションや業務はそのままオンプレ SQL Server を使い続けながら、
分析と可視化のレイヤーだけを Fabric 側に寄せていく」
という段階的なクラウド移行を実現しやすい仕組みです。
次の一歩のアイデア
実際の環境で試す際は、いきなり本番データベースではなく、まずは次のようなステップから始めると安全です。
- 検証用の小さなデータベースを作成し、
少数テーブルだけミラー化して挙動や遅延を確認する - セマンティックモデルを使って簡単なレポートを 1〜2 個作ってみる
- Lakehouse にショートカットを作り、Notebook や SQL エンドポイントで
他のテーブルと JOIN してみる
そのうえで、
- ネットワーク制約(帯域・レイテンシ)
- トランザクションログ/CDC の増加
- セキュリティ(権限設計、RLS、マスキング)
などのポイントをチームで検討しながら、
徐々に本番に近い構成へステップアップしていくと、トラブルを減らしつつ導入を進めやすくなります。
この記事が、「オンプレ SQL Server × Microsoft Fabric」を検証/導入する際の
最初のハンズオン的なガイドとして、少しでも参考になれば幸いです。





























