チュートリアル: Azure SQL Managed Instance からミラー化される Microsoft Fabric データベースを構成する (プレビュー)
Fabric でのミラーリングは、エンタープライズ、クラウドベース、ゼロ ETL、SaaS テクノロジです。 このセクションでは、ミラー化された Azure SQL Managed Instance データベースを作成する方法について説明します。これは、OneLake の Azure SQL Managed Instance から選択されたデータベースの読み取り専用で継続的にレプリケートされたコピーを表します。
前提条件
- 既存の Azure SQL Managed Instance キーを作成または使用します。
- ソース Azure SQL Managed Instance のポリシーの更新では、"常に最新の状態" に構成する必要があります。
- ソース Azure SQL Managed Instance は、単一の SQL マネージド インスタンスでも、インスタンス プールに属する SQL マネージド インスタンスのどちらにもできます。
- Azure SQL Managed Instance がない場合は、新しい SQL マネージド インスタンスを作成できます。 必要に応じて、Azure SQL Managed Instance の無料プランを利用できます。
- 現在のプレビュー期間中は、既存のデータベースのいずれか、またはバックアップから迅速に復旧できる既存のテストまたは開発データベースのコピーを使用することをお勧めします。 既存のバックアップからデータベースを使用する場合は、「Azure SQL Managed Instance のバックアップからデータベースを復元する」をご覧ください。
- Fabric 用の既存の容量が必要です。 そうでない場合は、Fabric 試用版を開始します。
- ファブリック容量はアクティブで実行されている必要があります。 一時停止または削除された容量はミラーリングに影響し、データはレプリケートされません。
- Fabric テナント設定の [サービス プリンシパルは Fabric API を使用できる] を有効にします。 テナント設定を有効にする方法については、テナント設定についてのページを参照してください。
- Fabric が Azure SQL Managed Instance にアクセスするためのネットワーク要件は次のとおりです。
- 現在のプレビューでは、ミラーリングには、Azure SQL Managed Instance にパブリック エンドポイントがあり、Azure Cloud または Power BI サービス タグからアクセスできる必要があります。 詳細については、Azure SQL Managed Instance のパブリック エンドポイントの構成方法である「パブリック エンドポイントで安全に Azure SQL Managed Instance を使用する」を参照してください。
Azure SQL Managed Instance のシステム割り当てマネージド ID (SAMI) を有効にします。
Fabric OneLake にデータを公開するには、Azure SQL Managed Instance のシステム割り当てマネージド ID (SAMI) が有効になっており、プライマリ ID である必要があります。
- SAMI が有効になっていることを構成または確認するには、Azure portal で、SQL Managed Instance に移動します。 リソース メニューの [セキュリティ] で [ID] を選択します。
- [システム割り当てマネージド ID] で、[状態] を [オン] に設定します。
- SAMI はプライマリ ID である必要があります。 T-SQL クエリ
SELECT * FROM sys.dm_server_managed_identities;
を使用して、SAMI がプライマリ ID であることを確認します。
Fabric のデータベース プリンシパル
次に、Fabric サービスで Azure SQL Managed Instance に接続する方法を作成する必要があります。
これは、ログインとマップされたデータベース ユーザー を使用して行うことができます。 セキュリティの最小限の特権の原則に従い、ミラー化する予定があるデータベースでのみ CONTROL DATABASE アクセス許可を付与する必要があります。
ログイン ユーザーとマップされたデータベース ユーザーの使用
SQL Server Management Studio (SSMS) または Azure Data Studio を使用して Azure SQL Managed Instance に接続します。
master
データベースに接続します。サーバー ログインを作成し、適切なアクセス許可を割り当てます。
- SQL 認証ログインを作成します。 このログイン名には任意の名前を付けることができるため、次のスクリプトで
<fabric_login>
に置き換えます。 独自の強力なパスワードを指定します。master
データベースで次の T-SQL スクリプトを実行します。
CREATE LOGIN <fabric_login> WITH PASSWORD = '<strong password>'; ALTER SERVER ROLE [##MS_ServerStateReader##] ADD MEMBER <fabric_login>;
- または、既存のアカウントから Microsoft Entra ID 認証ログインを作成します。
master
データベースで次の T-SQL スクリプトを実行します。
CREATE LOGIN [bob@contoso.com] FROM EXTERNAL PROVIDER; ALTER SERVER ROLE [##MS_ServerStateReader##] ADD MEMBER [bob@contoso.com];
- SQL 認証ログインを作成します。 このログイン名には任意の名前を付けることができるため、次のスクリプトで
クエリ スコープをミラー化するデータベースに切り替えます。
<mirroring_source_database>
のデータベース名に置き換えて、次の T-SQL を実行します。USE [<mirroring_source_database>];
ログインに接続されたデータベース ユーザーを作成します。 この目的のために新しいデータベース ユーザーの名前を
<fabric_user>
に置き換えます。CREATE USER <fabric_user> FOR LOGIN <fabric_login>; GRANT CONTROL TO <fabric_user>;
または、Microsoft Entra ログインに置き換えます。
CREATE USER [bob@contoso.com] FOR LOGIN [bob@contoso.com]; GRANT CONTROL TO [bob@contoso.com];
ミラー化された Azure SQL Managed Instance データベースを作成する
- Fabric ポータルを開きます。
- 既存のワークスペースを使用するか、新規ワークスペースを作成します。
- [作成] ウィンドウに移動します。 [作成] アイコンを選択します。
- [データ ウェアハウス] セクションまでスクロールして、[ミラー化された Azure SQL Managed Instance (プレビュー)] を選びます。
Azure SQL Managed Instance に接続する
ミラー化を有効にするには、Fabric から Azure SQL Managed Instance に接続し、SQL Managed Instance と Fabric の間の接続を開始する必要があります。 次の手順では、Azure SQL Managed Instance への接続を作成する手順を説明します。
- [新しいソース] で、[Azure SQL Managed Instance] を選択します。 または、OneLake カタログから既存の Azure SQL Managed Instance 接続を選択します。
- 種類 "SQL Server" を持つ既存の Azure SQL Managed Instance 接続 (一般的な接続の種類) は使用できません。 接続の種類 "SQL Managed Instance" を持つ接続のみ、Azure SQL Managed Instance データのミラー化でサポートされています。
- [新しい接続] を選択した場合は、Azure SQL Managed Instance への接続の詳細を入力します。 特定のデータベースに接続する必要があるため、SQL Managed Instance 全体とそのすべてのデータベースに対してミラー化を設定することはできません。
- サーバー: サーバー名は、Azure portal の Azure SQL Managed Instance [ネットワーク] ページ ([セキュリティ] メニューの下) に移動して、[パブリック エンドポイント] フィールドを見るとわかります。 たとえば、
<managed_instance_name>.public.<dns_zone>.database.windows.net,3342
のようにします。 - データベース: ミラー化するデータベースの名前を入力します。
- 接続: 新規接続を作成します。
- 接続名: 自動的に名前が指定されます。 必要に応じて、将来この SQL Managed Instance データベース接続を見つけやすくするために変更できます。
- 認証の種類:
- 基本 (SQL 認証)
- 組織アカウント (Microsoft Entra ID)
- テナント ID (Azure サービス プリンシパル)
- サーバー: サーバー名は、Azure portal の Azure SQL Managed Instance [ネットワーク] ページ ([セキュリティ] メニューの下) に移動して、[パブリック エンドポイント] フィールドを見るとわかります。 たとえば、
- [接続] を選択します。
ミラーリング プロセスの開始
[ミラーの構成] 画面では、データベース内のすべてのデータをデフォルトでミラーできます。
すべてのデータをミラー化すると、ミラーリングの開始後に作成された新規テーブルがミラー化されます。
必要に応じて、ミラーリングする特定のオブジェクトのみを選択します。 [すべてのデータをミラー化] オプションを無効にし、データベースから個々のテーブルを選択します。
テーブルをミラー化できない場合は、エラー アイコンと関連する説明テキストが表示されます。 同様に、テーブルが制限付きでしかミラー化できない場合は、関連する説明テキストとともに警告アイコンが表示されます。
このチュートリアルでは、[すべてのデータをミラー化] オプションを選択します。
次の画面で、宛先の項目に名前を付け、[ミラー化されたデータベースを作成する] を選択します。 ファブリックですべての準備が整うまで、1、2 分お待ちください。
2 - 5 分後に、[レプリケーションの監視] を選択して状態を確認します。
数分後に、状態が [実行中] に変わります。これは、テーブルの同期が進行中であることを示します。
テーブルとそれに対応するレプリケーションの状態が見つからない場合は、数秒待ってからパネルを更新します。
テーブルの初期コピーが終了すると、[最終更新] 列に日付が表示されます。
これでデータが稼働し、Fabric 全体でさまざまな分析シナリオが利用できるようになりました。
重要
ソース データベースで確立された詳細なセキュリティは、Microsoft Fabric のミラー化データベースで再構成する必要があります。
ファブリック ミラーリングの監視
ミラーを構成すると、[ミラーリングの状態] ページに移動します。 ここでは、レプリケーションの現在の状態を監視できます。
レプリケートされた状態を次に示します。
データベース レベル全体の監視の場合:
- 実行中 - レプリケーションは現在実行中で、スナップショットと変更データを OneLake に取り込んでいます。
- 警告付きで実行中: 一時的なエラーが発生してレプリケーションが実行されています。
- 停止中/停止済み - レプリケーションが停止しています。
- エラー - レプリケーションで致命的なエラーが発生し、復旧できません。
テーブル レベルの監視の場合:
- 実行中 - テーブルのデータが正常にウェアハウスにレプリケートされています。
- 警告付き実行 - テーブルからのデータのレプリケーションで致命的でないエラーが発生した場合の警告
- 停止中/停止済み - レプリケーションが停止しました
- エラー - そのテーブルのレプリケーションで致命的なエラーが発生しました。
初期同期が完了すると、テーブル名の横に [前回の完了] タイムスタンプが表示されます。 このタイムスタンプは、Fabric で最後にテーブルの変更が確認された時刻を示します。
また、[レプリケートされた行] 列にも注意してください。 これは、テーブルに対してレプリケートされたすべての行をカウントします。 行がレプリケートされるたびに、もう一度カウントされます。 これは、たとえば、ソースに主キー =1 を持つ行を挿入すると、"レプリケート済みの行" カウントが 1 つ増加することを意味します。 同じ主キーを持つ行を更新すると、Fabric にもう一度レプリケートされ、同じ行が再度レプリケートされたにもかかわらず、行数が1つ増えます。 ファブリックは、挿入、削除、更新など、行で発生したすべてのレプリケーションをカウントします。
[レプリケーションの監視] 画面には、ミラー化されているテーブルのエラーや警告も表示されます。 テーブルにサポートされていない列の種類がある場合、またはテーブル全体がサポートされていない場合 (たとえば、メモリや列ストア インデックスなど)、制限に関する通知がこの画面に表示されます。 詳細情報とレプリケーション状態については、「Fabric ミラー化データベース レプリケーションを監視する」を参照してください。
重要
ソース テーブルに更新がない場合、レプリケーター エンジンは指数関数的に増加する期間 (最大 1 時間) でバックオフを開始します。 更新されたデータが検出されると、レプリケーター エンジンは定期的なポーリングを自動的に再開します。