Managed Instance のリンクを使用したディザスター リカバリー - Azure SQL Managed Instance
適用対象: Azure SQL Managed Instance
この記事では、Managed Instance のリンクを使用して、任意の場所でホストされている SQL Server と Azure SQL Managed Instance の間でハイブリッド ディザスター リカバリー ソリューションを構成する方法および、ライセンスフリーの DR レプリカでハイブリッド フェールオーバー特典を有効にし、ライセンス コストを節約する方法を説明します。
概要
Managed Instance リンクを使用するとディザスター リカバリーが可能になります。障害が発生した場合は、プライマリからセカンダリにワークロードを手動でフェールオーバーできます。
SQL Server 2022 では、SQL Server または Azure SQL Managed Instance をプライマリにすることができ、最初に SQL Server または SQL Managed Instance からリンクを確立できます。 必要に応じて、どちらの方向でも SQL Server と Azure SQL Managed Instance の間でフェールオーバーできます。
SQL Server 2022 にフェールバックする場合は、フェールバックを選択できます。
- マネージド インスタンスのリンクを直接使用してオンラインにできます。
- SQL Managed Instance からデータベースのバックアップを取得し、SQL Server 2022 インスタンスに復元することで、オフラインになります。
SQL Server 2016 と SQL Server 2019 では、プライマリは常に SQL Server であり、セカンダリ マネージド インスタンスへのフェールオーバーは一方向です。 SQL Server にフェールバックして SQL Managed Instance をプライマリにすることで、ロールを反転することはサポートされていません。 ただし、トランザクション レプリケーションや bacpac のエクスポートなどのデータ移動オプションを使用して、SQL Server にデータを回復することはできます。
重要
SQL Managed Instance へのフェールオーバーが成功した後、アプリケーションの接続文字列が SQL マネージド インスタンスの FQDN を指すように手動で設定し直し、フェール オーバー プロセスを完了して、Azure での実行を続けます。
前提条件
ディザスター リカバリーに Azure SQL Managed Instance でリンクを使用するには、以下の前提条件が必要です。
- 有効な Azure サブスクリプション アカウントがない場合は、無料アカウントを作成してください。
- 必要なサービス更新プログラムがインストールされている SQL Server のサポート対象バージョン。
- Azure SQL Managed Instance。 インスタンスがない場合は、これを開始します。
- SQL Server と Azure SQL Managed Instance の間に構成された Managed Instance のリンク 。
- SQL Managed Instance から SQL Server 2022 へのリンクまたはフェールオーバーを確立するには、SQL Server 2022 更新ポリシーを使用して Managed Instance を構成する必要があります。 SQL Managed Instance から SQL Server 2022 へのデータ レプリケーションとフェールオーバーは、Always-up-to-date 更新ポリシーを使用して構成されたインスタンスではサポートされていません。
- SQL Server 2022 から Always-up-to-date 更新ポリシーを使用して構成された SQL Managed Instance へのリンクを確立できますが、SQL Managed Instance にフェールオーバーした後は、データをレプリケートしたり、SQL Server 2022 にフェールバックしたりできなくなります。
アクセス許可
SQL Server の場合、sysadmin アクセス許可が必要です。
Azure SQL Managed Instance の場合、SQL Managed Instance 共同作成者のメンバーであるか、次のカスタム ロールのアクセス許可を持っている必要があります。
Microsoft.Sql/ リソース | 必要なアクセス許可 |
---|---|
Microsoft.Sql/managedInstances | /read、/write |
Microsoft.Sql/managedInstances/hybridCertificate | /action |
Microsoft.Sql/managedInstances/databases | /read、/delete、/write、/completeRestore/action、/readBackups/action、/restoreDetails/read |
Microsoft.Sql/managedInstances/distributedAvailabilityGroups | /read、/write、/delete、/setRole/action |
Microsoft.Sql/managedInstances/endpointCertificates | /read |
Microsoft.Sql/managedInstances/hybridLink | /read、/write、/delete |
Microsoft.Sql/managedInstances/serverTrustCertificates | /write、/delete、/read |
一方向のフェールオーバー (SQL Server 2016 - 2022)
SQL Server 2016 および SQL Server 2019 の場合、SQL Server から Azure SQL Managed Instance へのフェールオーバーは一方向です。 SQL Server へ、データベースをフェールバックしたり、復元したりすることはできません。 ただし、トランザクション レプリケーションや bacpac のエクスポートなどのデータ移動オプションを使用して、SQL Server にデータを回復することはできます。 Azure SQL Managed Instance にフェールオーバーすると、リンクが解除され、分散型可用性グループが削除されます。
SQL Server 2022 では、フェールオーバーのプロセスでリンクを解除することで、移行などの一方向のフェールオーバーを実行できます。 SQL Server 2022 データベースをフェールオーバーするときは、ビジネスに適したオプションを選択してください。
フェールオーバーするには、「リンクのフェールオーバー」を確認してください。
双方向のフェールオーバー (SQL Server 2022)
SQL Server 2022 では、フェールバックを使用したオンライン フェールオーバーが導入されています。これにより、Azure SQL Managed Instance にシームレスにフェールオーバーした後、Managed Instance のリンクを使用してオンラインで SQL Server に、最小限のダウンタイムでフェールバックできます。
フェールオーバーするには、「リンクのフェールオーバー」を確認してください。
オフライン フェールバック (SQL Server 2022)
SQL Server 2022 では、障害が軽減された後、マネージド インスタンスでデータベースのバックアップを作成し、SQL Server に復元することで、SQL Managed Instance からオフラインで SQL Server にフェールバックすることができます。 このオプションは一般公開されています。
始めるには、「SQL Server 2022 へのデータベースの復元」を参照してください。
ライセンス不要のパッシブ DR レプリカ
パッシブ セカンダリ SQL マネージド インスタンスがディザスター リカバリーにのみ使用されている場合は、ハイブリッド フェールオーバー特典をアクティブ化することで、ライセンス コストを節約できます。 ハイブリッド フェールオーバー特典は、新規および既存のインスタンスに対してアクティブ化できます。
Note
ハイブリッド フェールオーバー特典は、SQL Server と SQL Managed Instance の間のハイブリッド環境でセカンダリ インスタンスをパッシブとして構成する場合にのみ適用されます。 フェールオーバー グループ内の 2 つのインスタンス間のフェールオーバー特典を得るには、代わりにフェールオーバー特典を使用してください。
新しいインスタンス
新しいインスタンスの ハイブリッド フェールオーバー特典 をアクティブにするには、次の手順に従います。
Azure portal で [SQL マネージド インスタンス] ページに移動します。
[+ 作成] を選択して、[Azure SQL Managed Instance の作成] ページを起動します。
[基本] タブ内で、[コンピューティングとストレージ] で [マネージド インスタンスの構成] を選択し、[コンピューティングとストレージ] ページを開きます。
[SQL Server ライセンス] で [ハイブリッド フェールオーバー権限] を選択します。
チェック ボックスをオンにして、このインスタンスをパッシブ レプリカとして使用することを確認します。
[適用] を選択して変更を保存します。
既存のインスタンス
既存のインスタンスの ハイブリッド フェールオーバー特典 をアクティブにするには、次の手順に従います。
Azure portal で、SQL Managed Instance に移動します。
リソース メニューの [設定] で、[コンピューティングとストレージ] を選択します。
[SQL Server ライセンス] で [ハイブリッド フェールオーバー権限] を選択し、チェック ボックスをオンにして、このインスタンスをパッシブ レプリカとして使用することを確認します。
[適用] を選択して変更を保存します。
制限事項
次の機能は、SQL Server 2022 更新ポリシーを使用した SQL Server 2022 と SQL マネージド インスタンスの間でのみサポートされます。
- SQL Managed Instance から SQL Server へのリンクの確立
- SQL Managed Instance から SQL Server 2022 へのフェールオーバー
SQL Server 2022 から Always-up-to-date 更新ポリシーを使用して構成された SQL Managed Instance へのリンクを確立できますが、SQL Managed Instance にフェールオーバーした後は、データをレプリケートしたり、SQL Server 2022 にフェールバックしたりできなくなります。
関連するコンテンツ
リンクを使用するには、次の操作を実行します。
- Managed Instance リンク用に環境を準備する
- SSMS を使用して SQL Server と SQL Managed Instance の間のリンクを構成する
- スクリプトを使用して SQL Server と SQL Managed Instance の間のリンクを構成する
- リンクをフェールオーバーする
- リンクを使用して移行する
リンクの詳細については、次を参照してください。
他のレプリケーション シナリオについては、以下を検討してください。