Always On 可用性グループ機能を有効または無効にするEnable or Disable Always On availability group feature

適用対象: ○SQL Server XAzure SQL Database XAzure SQL Data Warehouse XParallel Data WarehouseAPPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

サーバー インスタンスで可用性グループを使用するには、 Always On 可用性グループAlways On availability groups を有効にする必要があります。Enabling Always On 可用性グループAlways On availability groups is a prerequisite for a server instance to use availability groups. 可用性グループを作成したり構成したりするためには、少なくとも 1 つの可用性グループの可用性レプリカがホストされる Always On 可用性グループAlways On availability groups の各インスタンスで SQL ServerSQL Server 機能が有効になっている必要があります。Before you can create and configure any availability group, the Always On 可用性グループAlways On availability groups feature must have been enabled on the each instance of SQL ServerSQL Server that will host an availability replica for one or more availability groups.

重要

WSFC クラスターを削除してから再作成した場合は、元の WSFC クラスター上の可用性レプリカをホストしていた Always On 可用性グループAlways On availability groups の各インスタンスについて、 SQL ServerSQL Server 機能を無効にしてから再度有効にする必要があります。If you delete and re-create a WSFC cluster, you must disable and re-enable the Always On 可用性グループAlways On availability groups feature on each instance of SQL ServerSQL Server that hosted an availability replica on the original WSFC cluster.

AlwaysOn 可用性グループを有効にするための前提条件Prerequisites for Enabling Always On Availability Groups

  • このサーバー インスタンスは、Windows Server フェールオーバー クラスタリング (WSFC) ノードに存在している必要があります。The server instance must reside on a Windows Server Failover Clustering (WSFC) node.

  • Always On 可用性グループAlways On availability groupsをサポートする SQL Server エディションが実行されている必要があります。The server instance must be running an edition of SQL Server that supports Always On 可用性グループAlways On availability groups. 詳細については、「 SQL Server 2016 の各エディションがサポートする機能」を参照してください。For more information, see Features Supported by the Editions of SQL Server 2016.

  • 一度に 1 つのサーバー インスタンスでのみ AlwaysOn 可用性グループを有効にします。Enable Always On Availability Groups on only one server instance at a time. AlwaysOn 可用性グループを有効にした後は、SQL ServerSQL Server サービスが再起動するまで待ってから、次のサーバー インスタンスを有効にしてください。After enabling Always On Availability Groups, wait until the SQL ServerSQL Server service has restarted before you proceed to another server instance.

可用性グループの作成と構成に関するその他の前提条件については、「AlwaysOn 可用性グループの前提条件、制限事項、推奨事項 (SQL Server)」を参照してください。For information about additional prerequisites for creating and configuring availability groups, see Prerequisites, Restrictions, and Recommendations for Always On Availability Groups (SQL Server).

PermissionsPermissions

SQL ServerSQL Serverのインスタンス上で AlwaysOn 可用性グループが有効になっている限り、そのサーバー インスタンスには、WSFC クラスターに対するフル コントロール権限があります。While Always On Availability Groups is enabled on an instance of SQL ServerSQL Server, the server instance has full control on the WSFC cluster.

ローカル コンピューターの Administrator グループのメンバーシップおよび WSFC クラスターに対するフル コントロール権限が必要です。Requires membership in the Administrator group on the local computer and full control on the WSFC cluster. PowerShell を使用して AlwaysOn を有効にする場合は、 [管理者として実行] オプションを使用してコマンド プロンプト ウィンドウを開いてください。When enabling Always On by using PowerShell, open the Command Prompt window using the Run as administrator option.

Active Directory の Create Objects 権限と Manage Objects 権限が必要です。Requires Active Directory Create Objects and Manage Objects permissions.

AlwaysOn 可用性グループが有効になっているかどうかを確認するDetermine Whether Always On Availability Groups is Enabled

SQL Server Management Studio の使用Using SQL Server Management Studio

AlwaysOn 可用性グループが有効になっているかどうかを調べるにはTo determine whether Always On Availability Groups is enabled

  1. オブジェクト エクスプローラーでサーバー インスタンスを右クリックし、 [プロパティ] をクリックします。In Object Explorer, right-click the server instance, and click Properties.

  2. [サーバーのプロパティ] ダイアログ ボックスの [全般] ページをクリックします。In the Server Properties dialog box, click the General page. [HADR が有効] プロパティに、次のいずれかの値が表示されます。The Is HADR Enabled property displays one of the following values:

    • True(AlwaysOn 可用性グループが有効である場合)True, if Always On Availability Groups is enabled

    • False(AlwaysOn 可用性グループが無効である場合)False, if Always On Availability Groups is disabled.

Transact-SQL の使用Using Transact-SQL

AlwaysOn 可用性グループが有効になっているかどうかを調べるにはTo determine whether Always On Availability Groups is enabled

  1. 次の SERVERPROPERTY ステートメントを使用します。Use the following SERVERPROPERTY statement:

    SELECT SERVERPROPERTY ('IsHadrEnabled');  
    

    IsHadrEnabled サーバー プロパティの設定は、 SQL ServerSQL Server のインスタンスに対して AlwaysOn 可用性グループが有効であるかどうかを示します。The setting of the IsHadrEnabled server property indicates whether an instance of SQL ServerSQL Server is enabled for Always On Availability Groups, as follows:

    • IsHadrEnabled = 1 の場合: AlwaysOn 可用性グループが有効If IsHadrEnabled = 1, Always On Availability Groups is enabled.

    • IsHadrEnabled = 0 の場合: AlwaysOn 可用性グループが無効If IsHadrEnabled = 0, Always On Availability Groups is disabled.

    注意

    IsHadrEnabled サーバー プロパティの詳細については、「SERVERPROPERTY (Transact-SQL)」を参照してください。For more information about the IsHadrEnabled server property, see SERVERPROPERTY (Transact-SQL).

PowerShell の使用Using PowerShell

AlwaysOn 可用性グループが有効になっているかどうかを調べるにはTo determine whether Always On Availability Groups is enabled

  1. が有効であるかどうかを確認するサーバー インスタンスを既定の操作対象に設定 ( cd Always On 可用性グループAlways On availability groups ) します。Set default (cd) to the server instance on which you want to determine whether Always On 可用性グループAlways On availability groups is enabled.

  2. PowerShell コマンド Get-Item を入力します。Enter the following PowerShell Get-Item command:

    PS SQLSERVER:\SQL\NODE1\DEFAULT> get-item . | select IsHadrEnabled  
    

    注意

    コマンドレットの構文を表示するには、 PowerShell 環境で Get-Help SQL ServerSQL Server コマンドレットを使用します。To view the syntax of a cmdlet, use the Get-Help cmdlet in the SQL ServerSQL Server PowerShell environment. 詳細については、「 Get Help SQL Server PowerShell」を参照してください。For more information, see Get Help SQL Server PowerShell.

SQL Server PowerShell プロバイダーを設定して使用するにはTo set up and use the SQL Server PowerShell provider

AlwaysOn 可用性グループを有効にするEnable Always On Availability Groups

AlwaysOn を有効にする場合に使用するツール:To enable Always On, using:

SQL Server 構成マネージャーの使用Using SQL Server Configuration Manager

Always On 可用性グループを有効にするにはTo enable Always On Availability Groups

  1. 対象の (AlwaysOn 可用性グループを有効にする) SQL ServerSQL Server インスタンスがホストされている Windows Server フェールオーバー クラスター (WSFC) ノードに接続します。Connect to the Windows Server Failover Cluster (WSFC) node that hosts the SQL ServerSQL Server instance where you want to enable Always On Availability Groups.

  2. [スタート] ボタンをクリックし、 [すべてのプログラム] 、[ Microsoft SQL Server 2017Microsoft SQL Server 2017]、 [構成ツール] の順にポイントして、 [SQL Server 構成マネージャー] をクリックします。On the Start menu, point to All Programs, point to Microsoft SQL Server 2017Microsoft SQL Server 2017, point to Configuration Tools, and click SQL Server Configuration Manager.

  3. SQL Server 構成マネージャーで、 [SQL Server のサービス] をクリックし、SQL Server ( < instance name >) を右クリックして、 [プロパティ] をクリックします。 < instance name > は、AlwaysOn 可用性グループを有効にするローカル サーバー インスタンスの名前です。In SQL Server Configuration Manager, click SQL Server Services, right-click SQL Server (<instance name>), where <instance name> is the name of a local server instance for which you want to enable Always On Availability Groups, and click Properties.

  4. [AlwaysOn 高可用性] タブを選択します。Select the Always On High Availability tab.

  5. [Windows フェールオーバー クラスター名] フィールドに、ローカル フェールオーバー クラスターの名前が表示されていることを確認します。Verify that Windows failover cluster name field contains the name of the local failover cluster. このフィールドが空白の場合、このサーバー インスタンスは現在 Always On 可用性グループAlways On availability groupsをサポートしていません。If this field is blank, this server instance currently does not support Always On 可用性グループAlways On availability groups. ローカル コンピューターがクラスター ノードではないか、WSFC クラスターがシャットダウンされています。または、このエディションの SQL Server 2017SQL Server 2017 では Always On 可用性グループAlways On availability groupsがサポートされません。Either the local computer is not a cluster node, the WSFC cluster has been shut down, or this edition of SQL Server 2017SQL Server 2017 that does not support Always On 可用性グループAlways On availability groups.

  6. [AlwaysOn 可用性グループを有効にする] チェック ボックスをオンにし、 [OK] をクリックします。Select the Enable Always On Availability Groups check box, and click OK.

    SQL ServerSQL Server 構成マネージャーによって変更内容が保存されます。Configuration Manager saves your change. その後、 SQL ServerSQL Server サービスを手動で再起動する必要があります。Then, you must manually restart the SQL ServerSQL Server service. 業務上の要件に合った時間帯を選んで再起動することができます。This enables you to choose a restart time that is best for your business requirements. SQL ServerSQL Server サービスが再起動されると、AlwaysOn が有効になり、 IsHadrEnabled サーバー プロパティが 1 に設定されます。When the SQL ServerSQL Server service restarts, Always On will be enabled, and the IsHadrEnabled server property will be set to 1.

SQL Server PowerShell の使用Using SQL Server PowerShell

AlwaysOn を有効にするにはTo enable Always On

  1. ディレクトリ変更コマンド (cd) を使用して、AlwaysOn 可用性グループを有効にするサーバー インスタンスに移動します。Change directory (cd) to a server instance that you want to enable for Always On Availability Groups.

  2. AlwaysOn 可用性グループを有効にするには、Enable-SqlAlwaysOn コマンドレットを使用します。Use the Enable-SqlAlwaysOn cmdlet to enable Always On Availability Groups.

    コマンドレットの構文を表示するには、 PowerShell 環境で Get-Help SQL ServerSQL Server コマンドレットを使用します。To view the syntax of a cmdlet, use the Get-Help cmdlet in the SQL ServerSQL Server PowerShell environment. 詳細については、「 Get Help SQL Server PowerShell」を参照してください。For more information, see Get Help SQL Server PowerShell.

    注意

    Enable-SqlAlwaysOn コマンドレットを実行したときに SQL ServerSQL Server サービスを再起動するかどうかを制御する方法については、このトピックの「SQL Server サービスがコマンドレットによって再起動される条件」を参照してください。For information about how to control whether the Enable-SqlAlwaysOn cmdlet restarts the SQL ServerSQL Server service, see When Does a Cmdlet Restart the SQL Server Service?, later in this topic.

SQL Server PowerShell プロバイダーを設定して使用するにはTo set up and use the SQL Server PowerShell provider

例:Enable-SqlAlwaysOnExample: Enable-SqlAlwaysOn

次の PowerShell コマンドは、SQL Server のインスタンス ( Always On 可用性グループAlways On availability groups ComputerInstance\ ) のを有効にします。The following PowerShell command enables Always On 可用性グループAlways On availability groups on an instance of SQL Server (Computer\Instance).

Enable-SqlAlwaysOn -Path SQLSERVER:\SQL\Computer\Instance  

AlwaysOn 可用性グループを無効にするDisable Always On Availability Groups

重要

AlwaysOn を無効にできるサーバー インスタンスは一度に 1 つだけです。Disable Always On on only one server instance at a time. AlwaysOn 可用性グループを無効にした後は、 SQL ServerSQL Server サービスが再起動するまで待ってから、次のサーバー インスタンスを有効にしてください。After disabling Always On Availability Groups, wait until the SQL ServerSQL Server service has restarted before you proceed to another server instance.

推奨事項Recommendations

サーバー インスタンスで AlwaysOn を無効にする前に、次の操作を行うことをお勧めします。Before you disable Always On on a server instance, we recommend that you do the following:

  1. 保持する可用性グループのプライマリ レプリカをサーバー インスタンスがホスト中の場合は、同期されたセカンダリ レプリカに可用性グループを手動でフェールオーバーすることをお勧めします (可能な場合)。If the server instance is currently hosting the primary replica of an availability group that you want to keep, we recommend that you manually fail over the availability group to a synchronized secondary replica, if possible. 詳細については、「可用性グループの計画的な手動フェールオーバーの実行 (SQL Server)」を参照してください。For more information, see Perform a Planned Manual Failover of an Availability Group (SQL Server).

  2. ローカル セカンダリ レプリカをすべて削除します。Remove all local secondary replicas. 詳細については、「可用性グループからのセカンダリ レプリカの削除 (SQL Server)」を参照してください。For more information, see Remove a Secondary Replica from an Availability Group (SQL Server).

SQL Server 構成マネージャーの使用Using SQL Server Configuration Manager

AlwaysOn を無効にするにはTo disable Always On

  1. 対象の (AlwaysOn 可用性グループを無効にする) SQL ServerSQL Server インスタンスがホストされている Windows Server フェールオーバー クラスター (WSFC) ノードに接続します。Connect to the Windows Server Failover Cluster (WSFC) node that hosts the SQL ServerSQL Server instance where you want to disable Always On Availability Groups.

  2. [スタート] ボタンをクリックし、 [すべてのプログラム] 、[ Microsoft SQL Server 2017Microsoft SQL Server 2017]、 [構成ツール] の順にポイントして、 [SQL Server 構成マネージャー] をクリックします。On the Start menu, point to All Programs, point to Microsoft SQL Server 2017Microsoft SQL Server 2017, point to Configuration Tools, and click SQL Server Configuration Manager.

  3. SQL Server 構成マネージャーで、 [SQL Server のサービス] をクリックし、SQL Server ( < instance name >) を右クリックして、 [プロパティ] をクリックします。 < instance name > は、AlwaysOn 可用性グループを無効にするローカル サーバー インスタンスの名前です。In SQL Server Configuration Manager, click SQL Server Services, right-click SQL Server (<instance name>), where <instance name> is the name of a local server instance for which you want to disable Always On Availability Groups, and click Properties.

  4. [Always On 高可用性] タブで、 [Always On 可用性グループを有効にする] チェック ボックスをオフにし、 [OK] をクリックします。On the Always On High Availability tab, deselect the Enable Always On Availability Groups check box, and click OK.

    SQL ServerSQL Server 構成マネージャーによって変更内容が保存され、 SQL ServerSQL Server サービスが再起動されます。Configuration Manager saves your change and restarts the SQL ServerSQL Server service. SQL ServerSQL Server サービスが再起動すると、AlwaysOn が無効になり、 IsHadrEnabled サーバー プロパティは、AlwaysOn 可用性グループが無効であることを示す 0 に設定されます。When the SQL ServerSQL Server service restarts, Always On will be disabled, and the IsHadrEnabled server property will be set to 0, to indicate that Always On Availability Groups is disabled.

  5. このトピックの「 補足情報: Always On を無効にした後」を読むことをお勧めします。We recommend that you read the information in Follow Up: After Disabling Always On, later in this topic.

SQL Server PowerShell の使用Using SQL Server PowerShell

AlwaysOn を無効にするにはTo disable Always On

  1. ディレクトリ変更コマンド (cd) を使用して、AlwaysOn 可用性グループを無効にするサーバー インスタンスに移動します。Change directory (cd) to a currently-enabled server instance that you want to disenable for Always On Availability Groups.

  2. AlwaysOn 可用性グループを無効にするには、Disable-SqlAlwaysOn コマンドレットを使用します。Use the Disable-SqlAlwaysOn cmdlet to enable Always On Availability Groups.

    たとえば、次のコマンドは、SQL Server インスタンス (Computer\Instance) の AlwaysOn 可用性グループを無効にします。For example, the following command disables Always On Availability Groups on an instance of SQL Server (Computer\Instance). このコマンドの場合、インスタンスを再起動する必要があり、再起動するかどうかを確認するメッセージが表示されます。This command requires restarting the instance, and you will be prompted to confirm this restart.

    Disable-SqlAlwaysOn -Path SQLSERVER:\SQL\Computer\Instance  
    

    重要

    Disable-SqlAlwaysOn コマンドレットを実行したときに SQL ServerSQL Server サービスを再起動するかどうかを制御する方法については、このトピックの「SQL Server サービスがコマンドレットによって再起動される条件」を参照してください。For information about how to control whether the Disable-SqlAlwaysOn cmdlet restarts the SQL ServerSQL Server service, see When Does a Cmdlet Restart the SQL Server Service?, later in this topic.

    コマンドレットの構文を表示するには、 PowerShell 環境で Get-Help SQL ServerSQL Server コマンドレットを使用します。To view the syntax of a cmdlet, use the Get-Help cmdlet in the SQL ServerSQL Server PowerShell environment. 詳細については、「 Get Help SQL Server PowerShell」を参照してください。For more information, see Get Help SQL Server PowerShell.

SQL Server PowerShell プロバイダーを設定して使用するにはTo set up and use the SQL Server PowerShell provider

補足情報:Always On を無効にした後Follow Up: After Disabling Always On

AlwaysOn 可用性グループを無効にした後、 SQL ServerSQL Server インスタンスを無効にする必要があります。After you disable Always On Availability Groups, the instance of SQL ServerSQL Server must be restarted. サーバー インスタンスは、SQL 構成マネージャーによって自動的に再起動されます。SQL Configuration Manager restarts the server instance automatically. ただし、Disable-SqlAlwaysOn コマンドレットを使用した場合は、サーバー インスタンスを手動で再起動する必要があります。However, if you used the Disable-SqlAlwaysOn cmdlet, you will need to restart the server instance manually. 詳細については、「 sqlservr Application」を参照してください。For more information, see sqlservr Application.

再起動後のサーバー インスタンスに該当する状況を以下に示します。On the restarted server instance:

  • SQL Server の起動時に可用性データベースは開始されず、アクセス不能となります。Availability databases do not start up at SQL Server startup, making them inaccessible.

  • サポートされる AlwaysOn Transact-SQLTransact-SQL ステートメントは DROP AVAILABILITY GROUPのみとなります。The only supported Always On Transact-SQLTransact-SQL statement is DROP AVAILABILITY GROUP. CREATE AVAILABILITY GROUP と ALTER AVAILABILITY GROUP、および ALTER DATABASE の SET HADR オプションはサポートされません。CREATE AVAILABILITY GROUP, ALTER AVAILABILITY GROUP, and the SET HADR options of ALTER DATABASE are not supported.

  • SQL ServerSQL Server AlwaysOn 可用性グループを無効にしても、WSFC 内の Always On 可用性グループAlways On availability groups の構成データと のメタデータにその影響が及ぶことはありません。metadata and Always On 可用性グループAlways On availability groups configuration data in WSFC are unaffected by disabling Always On Availability Groups.

1 つまたは複数の可用性グループの可用性レプリカをホストするすべてのサーバー インスタンスで AlwaysOn 可用性グループを永続的に無効にする場合は、次の手順を完了することをお勧めします。If you permanently disable Always On Availability Groups on every server instance that hosts an availability replica for one or more availability groups, we recommend that you complete the following steps:

  1. AlwaysOn を無効にする前にローカル可用性レプリカを削除しなかった場合は、サーバー インスタンスが可用性レプリカをホストしている可用性グループを削除します。If you did not remove the local availability replicas before disabling Always On, delete (drop) each availability group for which the server instance is hosting an availability replica. 可用性グループの削除については、「可用性グループの削除 (SQL Server)」を参照してください。For information about deleting an availability group, see Remove an Availability Group (SQL Server).

  2. 残されたメタデータを除去するには、元の WSFC の一部であるサーバー インスタンスから影響を受ける可用性グループをそれぞれ削除します。To remove the metadata left behind, delete (drop) each affected availability group on a server instance that is part of the original WSFC.

  3. プライマリ データベースには引き続きすべての接続からアクセスできますが、プライマリ データベースとセカンダリ データベース間のデータの同期は中止されます。Any primary databases continue to be accessible to all connections but the data synchronization between the primary and secondary databases stops.

  4. セカンダリ データベースは、RESTORING 状態に入ります。The secondary databases enter the RESTORING state. これらは削除するか、RESTORE WITH RECOVERY を使用して復元できます。You can delete them, or you can restore them by using RESTORE WITH RECOVERY. ただし、復元されたデータベースは、それ以降、可用性グループのデータの同期対象とはなりません。However, restored databases are no longer participating in availability-group data synchronization.

SQL Server サービスがコマンドレットによって再起動される条件When Does a Cmdlet Restart the SQL Server Service?

現在実行中のサーバー インスタンスで、Enable-SqlAlwaysOn または Disable-SqlAlwaysOn を使用して現在の AlwaysOn 設定を変更すると、SQL Server サービスが再起動されます。On a server instance that is currently running, using Enable-SqlAlwaysOn or Disable-SqlAlwaysOn to change the current Always On setting could cause the SQL Server service to restart. 再起動の動作は次の条件によって異なります。The restart behavior on depends on the following conditions:

-NoServiceRestart パラメーターの指定-NoServiceRestart parameter specified -Force パラメーターの指定-Force parameter specified SQL ServerSQL Server サービスの再起動Is the SQL ServerSQL Server service restarted?
いいえNo いいえNo 既定では再起動されます。By default. ただし、次のプロンプトが表示されます。But the cmdlet prompts you as follows:

このアクションを完了するには、サーバー インスタンス '<instance_name>' の SQL Server サービスを再起動する必要があります。続行しますか?To complete this action, we must restart the SQL Server service for server instance '<instance_name>'. Do you want to continue?

[Y] はい [N] いいえ [S] 中断 [?] ヘルプ (既定値は "Y"):[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"):

N または Sを指定した場合、サービスは再起動されません。If you specify N or S, the service is not restarted.
いいえNo はいYes サービスは再起動されます。Service is restarted.
はいYes いいえNo サービスは再起動されません。Service is not restarted.
はいYes はいYes サービスは再起動されません。Service is not restarted.

参照See Also

AlwaysOn 可用性グループの概要 (SQL Server) Overview of Always On Availability Groups (SQL Server)
SERVERPROPERTY (Transact-SQL)SERVERPROPERTY (Transact-SQL)