可用性データベースの再開 (SQL Server)

適用対象:SQL Server

SQL Server Management Studio、Transact-SQL、または PowerShell を SQL Server で使用して、Always On 可用性グループの中断された可用性データベースを再開できます。 中断されたデータベースを再開すると、データベースが SYNCHRONIZING 状態になります。 プライマリ データベースを再開することにより、プライマリ データベースの中断の結果として中断されたセカンダリ データベースもすべて再開されます。 セカンダリ データベースが、セカンダリ レプリカをホストするサーバー インスタンスからローカルで中断された場合、そのセカンダリ データベースはローカルで再開する必要があります。 特定のセカンダリ データベースおよび対応するプライマリ データベースが SYNCHRONIZING 状態になると、セカンダリ データベースでデータ同期が再開されます。

Note

AlwaysOn セカンダリ データベースの中断と再開が、プライマリ データベースの可用性に直接影響することはありません。 ただし、中断されたセカンダリ データベースが再開されるまで、セカンダリ データベースの中断はプライマリ データベースの冗長性とフェールオーバー機能に影響する場合があります。 ミラーリングの場合はこれと異なり、ミラーリングが再開されるまで、ミラーリングの状態はミラー データベースでもプリンシパル データベースでも中断になります。 Always On プライマリ データベースを中断すると、対応するすべてのセカンダリ データベースでデータ移動が中断され、そのデータベースの冗長性とフェールオーバー機能はプライマリ データベースが再開されるまで停止されます。

制限事項と制約事項

RESUME コマンドは、対象のデータベースをホストするレプリカによって受け付けられるとすぐに戻りますが、実際にはデータベースの再開が非同期に行われます。

前提条件

  • 再開するデータベースをホストするサーバー インスタンスに接続している。
  • 可用性グループがオンラインになっている。
  • プライマリ データベースがオンラインであり、使用できる状態である。

アクセス許可

データベースに対する ALTER 権限が必要です。

可用性グループの ALTER AVAILABILITY GROUP 権限、CONTROL AVAILABILITY GROUP 権限、ALTER ANY AVAILABILITY GROUP 権限、または CONTROL SERVER 権限が必要です。

SQL Server Management Studio を使用する

セカンダリ データベースを再開するには

  1. オブジェクト エクスプローラーで、データベースを再開する可用性レプリカをホストするサーバー インスタンスに接続し、サーバー ツリーを展開します。

  2. [AlwaysOn 高可用性] ノードと [可用性グループ] ノードを展開します。

  3. 可用性グループを展開します。

  4. [可用性データベース] ノードを展開し、データベースを右クリックして、 [データ移動の再開] をクリックします。

  5. [データ移動の再開] ダイアログ ボックスで、 [OK] をクリックします。

Note

このレプリカの場所で他のデータベースを再開するには、データベースごとに手順 4. と手順 5. を繰り返します。

Transact-SQL の使用

ローカルで中断されたセカンダリ データベースを再開するには

  1. 再開するデータベースが含まれるセカンダリ レプリカがホストされているサーバー インスタンスに接続します。

  2. 次の ALTER DATABASE ステートメントを使用して、セカンダリ データベースを再開します。

    ALTER DATABASE database_name SET HADR RESUME;

PowerShell の使用

セカンダリ データベースを再開するには

  1. 再開するデータベースが含まれるレプリカがホストされているサーバー インスタンスに、ディレクトリを変更 (cd) します。 詳細については、このトピックの「 前提条件」をご覧ください。

  2. Resume-SqlAvailabilityDatabase コマンドレットを使用して可用性グループを再開します。

    たとえば、次のコマンドでは、可用性グループ MyDb3 に含まれている可用性データベース MyAgのデータの同期を再開します。

    Resume-SqlAvailabilityDatabase `   
    -Path SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MyAg\Databases\MyDb3  
    

    Note

    コマンドレットの構文を表示するには、 PowerShell 環境で Get-Help SQL Server コマンドレットを使用します。 詳細については、「 Get Help SQL Server PowerShell」を参照してください。

SQL Server PowerShell プロバイダーを設定して使用するには

Related Tasks

参照

Always On 可用性グループの概要 (SQL Server)