Fabric でのミラーリング は、エンタープライズ、クラウドベース、ゼロ ETL、SaaS テクノロジです。 このセクションでは、ミラー化 Azure SQL データベースを作成する方法について説明します。これにより、OneLake で Azure SQL データベース データの読み取り専用で継続的にレプリケートされたコピーが作成されます。
[前提条件]
- 既存の Azure SQL データベースを作成または使用します。
- ソースの Azure SQL データベースは、単一データベースまたは Elastic Pool のデータベースのいずれかになります。
- Azure SQL データベースがない場合は、新規単一データベースを作成してください。 Azure SQL データベースの無料プランをまだ使用していない場合は使用します。
- Azure SQL データベースのレベルと購入モデルの要件を評価します。
- チュートリアルとして、既存のデータベースの 1 つのコピー、またはバックアップから迅速に復旧できる既存のテスト データベースか開発データベースのコピーを使用することをお勧めします。 既存のバックアップからデータベースを使用する場合は、「Azure SQL データベースのバックアップからデータベースを復元する」を参照してください。
- Fabric 用の既存の容量が必要です。 そうでない場合は、Fabric 試用版を開始します。
- 既存のバックアップからデータベースをミラー化する場合は、「Azure SQL Database のバックアップからデータベースを復元する」をご覧ください。
- ファブリック容量は有効で稼働している必要があります。 一時停止または削除された容量はミラーリングに影響し、データはレプリケートされません。
- ファブリック テナントの設定が必要です。 次の 2 つの Fabric テナント設定 が有効になっていることを確認します。
- Fabric ポータルからミラー化されたデータベースを作成するときは、ワークスペースにメンバーまたは管理者ロールが必要です。 作成時に、Azure SQL Server のマネージド ID には、ミラー化されたデータベースに対する "読み取りと書き込み" アクセス許可が自動的に付与されます。 共同作成者ロールを持つユーザーには、この手順を完了するために必要な再共有アクセス許可がありません。
- Azure SQL Database にアクセスするための Fabric のネットワーク要件を確認します。Azure SQL Database にパブリックにアクセスできない場合や、 Azure サービス への接続が許可されていない場合は、 仮想ネットワーク データ ゲートウェイを作成 するか、 オンプレミスのデータ ゲートウェイをインストールしてデータ をミラー化できます。 Azure Virtual Network またはゲートウェイ マシンのネットワークが プライベート エンドポイント 経由で Azure SQL サーバーに接続できるか、ファイアウォール規則によって許可されていることを確認します。
マネージド ID を有効にする
Fabric OneLake にデータを発行するには、システム割り当てマネージド ID (SAMI) またはユーザー割り当てマネージド ID (UAMI) を有効にする必要があり、Azure SQL 論理サーバーのプライマリ ID である必要があります。
注
ユーザー割り当てマネージド ID (UAMI) のサポートは現在プレビュー段階です。
Azure SQL 論理サーバーのシステム割り当てマネージド ID (SAMI) を有効にする
- SAMI が有効になっていることを構成または確認するには、Azure portal の論理 SQL Server に移動します。 リソース メニューの [セキュリティ] で [ID] を選択します。
- [システム割り当てマネージド ID] で、[状態] を [オン] に設定します。
- SAMI はプライマリ ID である必要があります。 T-SQL クエリ
SELECT * FROM sys.dm_server_managed_identities;を使用して、SAMI がプライマリ ID であることを確認します。
Azure SQL 論理サーバーのユーザー割り当てマネージド ID (UAMI) を有効にする (プレビュー)
UAMI でミラーリングを有効にする:
ミラーリングをまだ有効にしておらず、UAMI を使用する場合:
- UAMI がまだ存在しない場合は、新しい UAMI を作成します。
- UAMI を構成するには、Azure portal で論理 SQL Server に移動します。 リソース メニューの [セキュリティ] で [ID] を選択します。
- Azure portal でプライマリ ID として UAMI を追加します (
identity_typeは、SELECT * FROM sys.dm_server_managed_identities WHERE is_primary = 1の実行時に "ユーザー割り当て" にする必要があります)。
SAMI を使用したミラーリングが既に有効になっているデータベースの UAMI に切り替える場合:
- UAMI がまだ存在しない場合は、新しい UAMI を作成します。
- UAMI を構成するには、Azure portal で論理 SQL Server に移動します。 リソース メニューの [セキュリティ] で [ID] を選択します。
- ファブリック ポータルでミラー化されたデータベース項目に移動し、次の手順に従ってプライマリ UAMI の書き込みアクセス許可を付与します。
- ミラー化されたデータベース項目に移動し、3 つのドット "..." を選択します。をクリックし、[ アクセス許可の管理] を選択します。
- UAMI を有効にしてから少なくとも 15 分間、古いプライマリ マネージド ID のアクセス許可を削除 しないでください 。
- [ ユーザーの追加] を選択し、UAMI 名を使用して検索します。 AppID が
client_id内のsys.dm_server_managed_identitiesと一致していることを確認します。 - ミラー化されたデータベース項目に対する UAMI の読み取りと書き込みのアクセス許可を付与します。
- Azure portal でプライマリ ID として UAMI を追加します (
identity_typeは、SELECT * FROM sys.dm_server_managed_identities WHERE is_primary = 1の実行時に "ユーザー割り当て" にする必要があります)。
Fabric のデータベース プリンシパル
次に、Fabric サービスが Azure SQL データベースに接続する方法を作成する必要があります。 基本 (SQL 認証)、組織アカウント (Microsoft Entra ID)、 サービス プリンシパル名 (SPN) は、Azure SQL Database に接続するためにサポートされている認証方法です。
これは、ログインとマップされたデータベース ユーザー を使用して行うことができます。
ログイン ユーザーとマップされたデータベース ユーザーの使用
注
Microsoft Entra サーバー プリンシパル (ログイン) は現在、Azure SQL Database のプレビュー段階です。 Microsoft Entra ID 認証を使用する前に、 Microsoft Entra サーバー プリンシパルの制限事項を確認してください。 Microsoft Entra ログインを使用して作成されたデータベース ユーザーには、ロールとアクセス許可が付与されると遅延が発生する場合があります。
SQL Server Management Studio (SSMS) または mssql 拡張機能と Visual Studio Code を使って、Azure SQL 論理サーバーに接続します。
masterデータベースに接続します。 サーバー ログインを作成し、適切なアクセス許可を割り当てます。Fabric ログインに必要なアクセス許可は次のとおりです。
ユーザーデータベースにある次のアクセス許可。
- SELECT
- 任意の外部ミラーを変更する
- データベースのパフォーマンス状態の表示
- データベースのセキュリティ状態の表示
fabric_loginという名前の SQL 認証ログインを作成します。 このログインには任意の名前を選択できます。 独自の強力なパスワードを指定します。masterデータベースで次の T-SQL スクリプトを実行します。
CREATE LOGIN [fabric_login] WITH PASSWORD = '<strong password>';- または、Microsoft Entra 管理者としてログインし、既存のアカウントから Microsoft Entra ID 認証ログインを作成します。
masterデータベースで次の T-SQL スクリプトを実行します。
CREATE LOGIN [bob@contoso.com] FROM EXTERNAL PROVIDER;- または、Microsoft Entra 管理者としてログインし、既存のアカウントからサービス プリンシパル名 (SPN) 認証ログインを作成します。
masterデータベースで次の T-SQL スクリプトを実行します。
CREATE LOGIN [Service Principal Name] FROM EXTERNAL PROVIDER;- または、Microsoft Entra 管理者としてログインし、 Fabric ワークスペース ID のログインを作成します。
masterデータベースで次の T-SQL スクリプトを実行します。
CREATE LOGIN [Workspace Identity Name] FROM EXTERNAL PROVIDER;ミラー化されるユーザー データベースに接続します。 ログインに接続されているデータベース ユーザーを作成し、必要な最小限の特権を付与します。
- SQL 認証ログインの場合:
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];- または、サービス プリンシパル名 (SPN) ログインの場合:
CREATE USER [Service Principal Name] FOR LOGIN [Service Principal Name]; GRANT SELECT, ALTER ANY EXTERNAL MIRROR, VIEW DATABASE PERFORMANCE STATE, VIEW DATABASE SECURITY STATE TO [Service Principal Name];- または、 Fabric ワークスペース ID ログインの 場合:
CREATE USER [Workspace Identity Name] FOR LOGIN [workspace identity Name]; GRANT SELECT, ALTER ANY EXTERNAL MIRROR, VIEW DATABASE PERFORMANCE STATE, VIEW DATABASE SECURITY STATE TO [Workspace Identity Name];
ミラー化 Azure SQL データベースを作成する
- Fabric ポータルを開きます。
- 既存のワークスペースを使用するか、新規ワークスペースを作成します。
- [ 作成 ] ウィンドウに移動します。 [ 作成 ] アイコンを選択します。
- [データ ウェアハウス] セクションまでスクロールして、[ミラー化された Azure SQL Database] を選びます。 ミラー化する Azure SQL Database の名前を入力して、[作成] を選びます。
Azure SQL データベースへの接続
ミラーリングを有効にするには、Fabric から Azure SQL 論理サーバーに接続して、SQL Database と Fabric の間の接続を開始する必要があります。 次の手順では、Azure SQL データベースへの接続を作成するプロセスについて説明します。
- [新しいソース] で、[Azure SQL Database] を選択します。 または、OneLake ハブから既存の Azure SQL Database 接続を選択します。
-
[新規接続] を選択した場合は、Azure SQL データベースへの接続の詳細を入力します。
-
サーバー: サーバー名は、Azure portal の Azure SQL データベースの [概要] ページに移動することで確認できます。 たとえば、「
server-name.database.windows.net」のように入力します。 - データベース: Azure SQL データベースの名前を入力します。
- 接続: 新しい接続を作成します。
- 接続名: 自動名前が指定されます。 変更できます。
- データ ゲートウェイ: シナリオに応じて設定した既定の (なし) または仮想ネットワーク データ ゲートウェイ/オンプレミス データ ゲートウェイの名前を選択します。
-
認証の種類: 以前に作成したログインおよびマップされたデータベース ユーザーに対応するログインの種類を選択します。
- 基本 (SQL 認証): ユーザー名とパスワードを指定します。
- 組織アカウント (Microsoft Entra ID)
- サービス プリンシパル: サービス プリンシパルのテナント ID、クライアント ID、およびクライアント シークレットを指定します。
- ワークスペース ID
-
サーバー: サーバー名は、Azure portal の Azure SQL データベースの [概要] ページに移動することで確認できます。 たとえば、「
- [接続] を選択します。
ミラーリング プロセスの開始
[ミラーの構成] 画面では、データベース内のすべてのデータをデフォルトでミラーできます。
すべてのデータをミラー化すると、ミラーリングの開始後に作成された新規テーブルがミラー化されます。
必要に応じて、ミラーリングする特定のオブジェクトのみを選択します。 [すべてのデータをミラー化] オプションを無効にし、データベースから個々のテーブルを選択します。
このチュートリアルでは、[すべてのデータをミラー化] オプションを選択します。
[ミラー データベース] を選択します。 ミラーリングが開始されます。
2 分から 5 分間待機します。 次に、[レプリケーションの監視] を選択して、状態を確認します。
数分後に、状態が [実行中] に変わります。これは、テーブルの同期が進行中であることを示します。 テーブルとそれに対応するレプリケーションの状態が見つからない場合は、数秒待ってからパネルを更新します。
テーブルの初期コピーが完了すると、[最終更新] 列に日付が表示されます。
これでデータが稼働し、Fabric 全体でさまざまな分析シナリオが利用できるようになりました。
Important
ソース データベースで確立された詳細なセキュリティは、Microsoft Fabric のミラー化データベースで再構成する必要があります。
ファブリック ミラーリングを監視する
ミラーを構成すると、[ミラーリングの状態] ページに移動します。 ここでは、レプリケーションの現在の状態を監視できます。
レプリケーションの状態に関する詳細については、「ファブリック ミラーリング データベース レプリケーションの監視」を参照してください。