次の方法で共有


チュートリアル: Azure SQL Managed Instance から Microsoft Fabric のミラー化データベースを構成する

Fabric でのミラーリング は、エンタープライズ、クラウドベース、ゼロ ETL、SaaS テクノロジです。 このセクションでは、OneLake のAzure SQL Managed Instanceから選択したデータベースの読み取り専用で継続的にレプリケートされるコピーを表す、ミラー化されたAzure SQL Managed Instance データベースを作成する方法について説明します。

[前提条件]

  • 既存のAzure SQL Managed Instanceを作成または使用します。 制限事項を確認します。
  • ソース Azure SQL Managed Instanceには、単一の SQL マネージド インスタンスまたはインスタンス プールに属する SQL マネージド インスタンスを指定できます。
  • Fabric 用の既存の容量が必要です。 そうでない場合は、Fabric 試用版を開始します。
    • ファブリック容量は有効で稼働している必要があります。 一時停止または削除された容量はミラーリングに影響し、データはレプリケートされません。
  • ファブリック テナントの設定が必要です。 次の 2 つの Fabric テナント設定 が有効になっていることを確認します。
    • サービス プリンシパルは Fabric API を使用できます
    • ユーザーは、Fabric 外部のアプリを使用して OneLake に格納されているデータにアクセスできます
  • Fabric ポータルからミラー化されたデータベースを作成するときは、ワークスペースにメンバーまたは管理者ロールが必要です。 作成時に、Azure SQL Managed Instanceのマネージド ID には、ミラー化されたデータベースに対する "読み取りと書き込み" アクセス許可が自動的に付与されます。 共同作成者ロールを持つユーザーには、この手順を完了するために必要な再共有アクセス許可がありません。
  • Fabric がAzure SQL Managed Instanceにアクセスするためのネットワーク要件を確認します。
    • Azure SQL Managed Instanceにパブリックにアクセスできない場合は、仮想ネットワーク データ ゲートウェイまたは オンプレミス データ ゲートウェイ を作成してデータをミラー化します。 Azure Virtual Networkまたはゲートウェイ サーバーのネットワークが、a プライベート エンドポイント経由でAzure SQL Managed Instanceに接続できることを確認します。
    • データ ゲートウェイを使用せずに Azure SQL Managed Instance のパブリック エンドポイントに接続するには、ネットワーク セキュリティ グループで Power BI や Data Factory のサービス タグ、または Azure クラウド サービス タグからの受信トラフィックを許可する必要があります。 詳細については、 Azure SQL Managed Instance のパブリック エンドポイントの構成に関するページを参照してください。
  • Fabric のネットワーク要件を確認する: ワークスペース レベルのプライベート リンクを使用する場合は、手順に従って Azure にプライベート リンク サービスを作成し、Azure SQL Managed Instanceの仮想ネットワークとサブネットからプライベート エンドポイントを作成します。

Azure SQL Managed Instanceのシステム割り当てマネージド ID (SAMI) を有効にする

Fabric OneLake にデータを発行するには、Azure SQL Managed Instanceのシステム割り当てマネージド ID (SAMI) を有効にし、プライマリ ID にする必要があります。

  1. SAMI が有効になっていることを構成または確認するには、Azure ポータルでSQL Managed Instanceに移動します。 リソース メニューの [セキュリティ] で [ID] を選択します。
  2. [システム割り当てマネージド ID] で、[状態] を [オン] に設定します。
  3. SAMI はプライマリ ID である必要があります。 T-SQL クエリ を使用して、SAMI がプライマリ ID であることを確認します。

Fabric のデータベース プリンシパル

次に、Fabric サービスがAzure SQL Managed Instanceに接続する方法を作成する必要があります。

これは、ログインとマップされたデータベース ユーザー を使用して行うことができます。 セキュリティに対する最小限の特権の原則に従って、ミラーリングするデータベースの CONTROL DATABASE 権限のみを付与する必要があります。

ログイン済みユーザーとマッピングされたデータベースユーザーの使用

  1. SQL Server Management Studio (SSMS) または Visual Studio Code の MSSQL 拡張機能2> を使用してAzure SQL Managed Instanceに接続します。 データベースに接続します。

  2. サーバー ログインを作成し、適切なアクセス許可を割り当てます。

    Fabric ログインに必要なアクセス許可は次のとおりです。

    • ユーザーデータベースにある次のアクセス許可。

      • SELECT
      • 任意の外部ミラーを変更する
      • データベースのパフォーマンス状態の表示
      • データベースのセキュリティ状態の表示
    • SQL 認証ログインを作成します。 このログインには任意の名前を選択できます。それを次のスクリプトで「」に置き換えてください。 独自の強力なパスワードを指定します。 データベースで次の T-SQL スクリプトを実行します。

    CREATE LOGIN <fabric_login> WITH PASSWORD = '<strong password>';
    
    • または、既存のアカウントからMicrosoft Entra ID認証済みログインを作成します。 データベースで次の T-SQL スクリプトを実行します。
    CREATE LOGIN [bob@contoso.com] FROM EXTERNAL PROVIDER;
    
  3. クエリ スコープをミラー化するデータベースに切り替えます。 データベースの名前を に置き換え、次の T-SQL を実行します。

    USE [<mirroring_source_database>];
    
  4. ログインに接続されているデータベース ユーザーを作成します。 では、新しいデータベース ユーザーの名前をこの目的に置き換えます。

    CREATE USER [fabric_user] FOR LOGIN [fabric_login];
    GRANT SELECT, ALTER ANY EXTERNAL MIRROR, VIEW DATABASE PERFORMANCE STATE, VIEW DATABASE SECURITY STATE TO [fabric_user];
    
    • または、Microsoft Entra認証済みログインの場合:
    CREATE USER [bob@contoso.com] FOR LOGIN [bob@contoso.com];
    GRANT SELECT, ALTER ANY EXTERNAL MIRROR, VIEW DATABASE PERFORMANCE STATE, VIEW DATABASE SECURITY STATE TO [bob@contoso.com];
    

ミラー化されたAzure SQL Managed Instance データベースを作成する

  1. Fabric ポータルを開きます。
  2. 既存のワークスペースを使用するか、新規ワークスペースを作成します。
  3. [ 作成 ] ウィンドウに移動します。 [ 作成 ] アイコンを選択します。
  4. Data Warehouse セクションまでスクロールし、Mirrored Azure SQL Managed Instance を選択します。

Azure SQL Managed Instanceに接続する

ミラーリングを有効にするには、Fabric からAzure SQL Managed Instanceに接続して、SQL Managed Instanceと Fabric の間の接続を開始する必要があります。 次の手順では、Azure SQL Managed Instanceへの接続を作成するプロセスについて説明します。

  1. [新しいソースで、Azure SQL Managed Instance を選択します。 または、OneLake カタログから既存のAzure SQL Managed Instance接続を選択します。
    1. 型 "SQL Server" (汎用接続の種類) を持つ既存のAzure SQL Managed Instance接続を使用することはできません。 Azure SQL Managed Instance データのミラーリングでは、接続の種類が "SQL Managed Instance" の接続のみがサポートされます。
  2. 新しい接続を選択した場合は、Azure SQL Managed Instanceへの接続の詳細を入力します。 特定のデータベースに接続する必要があります。SQL マネージド インスタンス全体とそのすべてのデータベースに対してミラーリングを設定することはできません。
    • Server: Server name は、Azure ポータルで、セキュリティ メニューの下にある Azure SQL Managed Instance の Networking ページに移動し、パブリック エンドポイント フィールドを確認すると見つけることができます。 たとえば、「 」のように入力します。
    • データベース: ミラー化するデータベースの名前を入力します。
    • 接続: 新しい接続を作成します。
    • 接続名: 自動名前が指定されます。 必要に応じて、この SQL マネージド インスタンス データベース接続を将来見つけやすくするために変更できます。
    • データ ゲートウェイ: シナリオに応じて設定した既定の (なし) または仮想ネットワーク データ ゲートウェイ/オンプレミス データ ゲートウェイの名前を選択します。
    • 認証の種類:
      • 基本 (SQL 認証): ユーザー名とパスワードを指定します。
      • 組織アカウント (Microsoft Entra ID)
      • サービス プリンシパル: サービス プリンシパルのテナント ID、クライアント ID、クライアント シークレットを指定します。
  3. [接続] を選択します。

ミラーリング プロセスの開始

  1. [ミラーの構成] 画面では、データベース内のすべてのデータをデフォルトでミラーできます。

    • すべてのデータをミラー化すると、ミラーリングの開始後に作成された新規テーブルがミラー化されます。

    • 必要に応じて、ミラーリングする特定のオブジェクトのみを選択します。 [すべてのデータをミラー化] オプションを無効にし、データベースから個々のテーブルを選択します。

    • テーブルをまったくミラー化できない場合は、エラー アイコンと関連する説明テキストが表示されます。 同様に、テーブルが制限付きでミラー化できる場合は、関連する説明テキストと共に警告アイコンが表示されます。

    このチュートリアルでは、[すべてのデータをミラー化] オプションを選択します。

  2. 次の画面で、コピー先の項目に名前を付け、[ ミラー化されたデータベースの作成] を選択します。 ここで、Fabric がすべてをプロビジョニングするまで 1 ~ 2 分待ちます。

  3. 2 分から 5 分後に、[ レプリケーションの監視 ] を選択して状態を確認します。

  4. 数分後に、状態が [実行中] に変わります。これは、テーブルの同期が進行中であることを示します。

    テーブルとそれに対応するレプリケーションの状態が見つからない場合は、数秒待ってからパネルを更新します。

  5. テーブルの最初のコピーが完了すると、[ 最終更新 ] 列に日付が表示されます。

  6. これでデータが稼働し、Fabric 全体でさまざまな分析シナリオが利用できるようになりました。

Important

ソース データベースで確立された詳細なセキュリティは、Microsoft Fabricのミラー化されたデータベースで再構成する必要があります。

ファブリック ミラーリングを監視する

ミラーを構成すると、[ミラーリングの状態] ページに移動します。 ここでは、レプリケーションの現在の状態を監視できます。

レプリケート状態は次のとおりです。

  • 全体的なデータベース レベルの監視の場合:

    • 実行中 – レプリケーションは現在、スナップショットと変更データを OneLake に取り込んで実行しています。
    • 警告付きで実行: レプリケーションが実行中で、一時的なエラーが発生しています
    • 停止中/停止 – レプリケーションが停止しています。
    • エラー – 復旧できないレプリケーションの致命的なエラー。
  • テーブル レベルの監視の場合:

    • 実行中 – テーブルのデータがウェアハウスに正常にレプリケートされています。
    • 警告付きで実行 – テーブルからのデータのレプリケーションによる致命的でないエラーの警告
    • 停止中/停止 - レプリケーションが停止しました
    • エラー – そのテーブルのレプリケーションで致命的なエラーが発生しました。

初期同期が完了すると、テーブル名の横に [最終完了 タイムスタンプ] が表示されます。 このタイムスタンプは、Fabric がテーブルの変更を最後に確認した時刻を示します。

次に、「レプリケートされた行」列に注目してください。 テーブル用にレプリケートされたすべての行をカウントします。 行がレプリケートされるたびに、再度カウントされます。 つまり、たとえば、ソースに主キーが =1 の行を挿入すると、"レプリケートされた行" 数が 1 増加します。 同じ主キーを使用して行を更新した場合は、再度 Fabric にレプリケートし、再度レプリケートされた行と同じ行であっても、行数が 1 ずつ増加します。 ファブリックは、挿入、削除、更新など、行で発生したすべてのレプリケーションをカウントします。

レプリケーション監視画面には、ミラーリングされるテーブルに関するエラーと警告も反映されます。 テーブルにサポートされていない列の種類がある場合、またはテーブル全体がサポートされていない場合 (メモリインデックスや列ストア インデックスなど)、この画面に制限に関する通知が表示されます。 レプリケーションの状態に関する詳細については、「ファブリック ミラーリング データベース レプリケーションの監視」を参照してください。