次の方法で共有


AlwaysOn 可用性グループの有効化と無効化 (SQL Server)

サーバー インスタンスで可用性グループを使用するには、AlwaysOn 可用性グループ を有効にする必要があります。 可用性グループを作成したり構成したりするためには、少なくとも 1 つの可用性グループの可用性レプリカがホストされる SQL Server の各インスタンスで AlwaysOn 可用性グループ機能が有効になっている必要があります。

重要な注意事項重要

WSFC クラスターを削除してから再作成した場合は、元の WSFC クラスター上の可用性レプリカをホストしていた SQL Server の各インスタンスについて、AlwaysOn 可用性グループ機能を無効にしてから再度有効にする必要があります。

  • **作業を開始する準備: **

    前提条件

    セキュリティ

  • **操作方法: **

    • AlwaysOn 可用性グループが有効になっているかどうかを確認する

    • [AlwaysOn 可用性グループを有効にする]

    • AlwaysOn 可用性グループを無効にする

作業を開始する準備

AlwaysOn 可用性グループを有効にするための前提条件

  • このサーバー インスタンスは、Windows Server フェールオーバー クラスタリング (WSFC) ノードに存在している必要があります。

  • AlwaysOn 可用性グループをサポートする SQL Server エディションが実行されている必要があります。 詳細については、「SQL Server 2012 の各エディションがサポートする機能」を参照してください。

  • 一度に 1 つのサーバー インスタンスでのみ AlwaysOn 可用性グループを有効にします。 AlwaysOn 可用性グループを有効にした後は、SQL Server サービスが再起動するまで待ってから、次のサーバー インスタンスを有効にしてください。

可用性グループの作成と構成に関するその他の前提条件については、「AlwaysOn 可用性グループの前提条件、制限事項、および推奨事項 (SQL Server)」を参照してください。

セキュリティ

SQL Server のインスタンス上で AlwaysOn 可用性グループが有効になっている限り、そのサーバー インスタンスには、WSFC クラスターに対するフル コントロール権限があります。

権限

ローカル コンピューターの Administrator グループのメンバーシップおよび WSFC クラスターに対するフル コントロール権限が必要です。 PowerShell を使用して AlwaysOn を有効にする場合は、[管理者として実行] オプションを使用してコマンド プロンプト ウィンドウを開いてください。

Active Directory の Create Objects 権限と Manage Objects 権限が必要です。

[トップに戻る] リンクで使用される矢印アイコン[先頭に戻る]

AlwaysOn 可用性グループが有効になっているかどうかを確認する

  • SQL Server Management Studio

  • Transact-SQL

  • PowerShell

SQL Server Management Studio の使用

AlwaysOn 可用性グループが有効になっているかどうかを調べるには

  1. オブジェクト エクスプローラーでサーバー インスタンスを右クリックし、[プロパティ] をクリックします。

  2. [サーバーのプロパティ] ダイアログ ボックスの [全般] ページをクリックします。 [HADR が有効] プロパティに、次のいずれかの値が表示されます。

    • True (AlwaysOn 可用性グループが有効である場合)

    • False (AlwaysOn 可用性グループが無効である場合)

Transact-SQL の使用

AlwaysOn 可用性グループが有効になっているかどうかを調べるには

  1. 次の SERVERPROPERTY ステートメントを使用します。

    SELECT SERVERPROPERTY ('IsHadrEnabled');
    

    IsHadrEnabled サーバー プロパティの設定は、SQL Server のインスタンスに対して AlwaysOn 可用性グループが有効であるかどうかを示します。

    • IsHadrEnabled = 1 の場合: AlwaysOn 可用性グループが有効 

    • IsHadrEnabled = 0 の場合: AlwaysOn 可用性グループが無効

    注意

    IsHadrEnabled サーバー プロパティの詳細については、「SERVERPROPERTY (Transact-SQL)」を参照してください。

[トップに戻る] リンクで使用される矢印アイコン[先頭に戻る]

PowerShell の使用

AlwaysOn 可用性グループが有効になっているかどうかを調べるには

  1. AlwaysOn 可用性グループが有効であるかどうかを確認するサーバー インスタンスを既定の操作対象に設定 (cd) します。

  2. PowerShell コマンド Get-Item を入力します。

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

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

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

[トップに戻る] リンクで使用される矢印アイコン[先頭に戻る]

[AlwaysOn 可用性グループを有効にする]

AlwaysOn を有効にする場合に使用するツール:

  • SQL Server 構成マネージャー

  • PowerShell

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

AlwaysOn 可用性グループを有効にするには

  1. 対象の (AlwaysOn 可用性グループを有効にする) SQL Server インスタンスがホストされている Windows Server フェールオーバー クラスタリング (WSFC) ノードに接続します。

  2. [スタート] ボタンをクリックし、[すべてのプログラム]、[ Microsoft SQL Server 2012 ]、[構成ツール] の順にポイントして、[SQL Server 構成マネージャー] をクリックします。

  3. SQL Server 構成マネージャーで、[SQL Server のサービス] をクリックし、SQL Server (<instance name>) を右クリックし、[プロパティ] をクリックします。<instance name> は、AlwaysOn 可用性グループを有効にするローカル サーバー インスタンスの名前です。

  4. [AlwaysOn 高可用性] タブを選択します。

  5. [Windows フェールオーバー クラスター名] フィールドに、ローカル フェールオーバー クラスターの名前が表示されていることを確認します。 このフィールドが空白の場合、このサーバー インスタンスは現在 AlwaysOn 可用性グループ をサポートしていません。 ローカル コンピューターがクラスター ノードではないか、WSFC クラスターがシャットダウンされています。または、このエディションの SQL Server 2012 では AlwaysOn 可用性グループがサポートされません。

  6. [AlwaysOn 可用性グループを有効にする] チェック ボックスをオンにし、[OK] をクリックします。

    SQL Server 構成マネージャーによって変更内容が保存されます。 その後、SQL Server サービスを手動で再起動する必要があります。 業務上の要件に合った時間帯を選んで再起動することができます。 SQL Server サービスを再起動すると、AlwaysOn が有効になり、IsHadrEnabled サーバー プロパティが 1 に設定されます。

[トップに戻る] リンクで使用される矢印アイコン[先頭に戻る]

SQL Server PowerShell の使用

AlwaysOn を有効にするには

  1. ディレクトリ変更コマンド (cd) を使用して、AlwaysOn 可用性グループを有効にするサーバー インスタンスに移動します。

  2. AlwaysOn 可用性グループを有効にするには、Enable-SqlAlwaysOn コマンドレットを使用します。

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

    注意

    Enable-SqlAlwaysOn コマンドレットを実行したときに SQL Server サービスを再起動するかどうかを制御する方法については、このトピックの「SQL Server サービスがコマンドレットによって再起動される条件」を参照してください。

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

[トップに戻る] リンクで使用される矢印アイコン[先頭に戻る]

例: Enable-SqlAlwaysOn

次の PowerShell コマンドは、SQL Server のインスタンス (Computer\Instance) の AlwaysOn 可用性グループを有効にします。

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

AlwaysOn 可用性グループを無効にする

  • AlwaysOn を無効にする前に: 

    推奨事項

  • AlwaysOn を無効にする場合に使用するツール:

    • SQL Server 構成マネージャー

    • PowerShell

  • 補足情報:  AlwaysOn を無効にした後

重要な注意事項重要

AlwaysOn を無効にできるサーバー インスタンスは一度に 1 つだけです。 AlwaysOn 可用性グループを無効にした後は、SQL Server サービスが再起動するまで待ってから、次のサーバー インスタンスを有効にしてください。

推奨事項

サーバー インスタンスで AlwaysOn を無効にする前に、次の操作を行うことをお勧めします。

  1. 保持する可用性グループのプライマリ レプリカをサーバー インスタンスがホスト中の場合は、同期されたセカンダリ レプリカに可用性グループを手動でフェールオーバーすることをお勧めします (可能な場合)。 詳細については、「可用性グループの計画的な手動フェールオーバーの実行 (SQL Server)」を参照してください。

  2. ローカル セカンダリ レプリカをすべて削除します。 詳細については、「可用性グループからのセカンダリ レプリカの削除 (SQL Server)」を参照してください。

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

AlwaysOn を無効にするには

  1. 対象の (AlwaysOn 可用性グループを無効にする) SQL Server インスタンスがホストされている Windows Server フェールオーバー クラスタリング (WSFC) ノードに接続します。

  2. [スタート] ボタンをクリックし、[すべてのプログラム]、[ Microsoft SQL Server 2012 ]、[構成ツール] の順にポイントして、[SQL Server 構成マネージャー] をクリックします。

  3. SQL Server 構成マネージャーで、[SQL Server のサービス] をクリックし、SQL Server (<instance name>) を右クリックし、[プロパティ] をクリックします。<instance name> は、AlwaysOn 可用性グループを無効にするローカル サーバー インスタンスの名前です。

  4. [AlwaysOn 高可用性] タブで、[AlwaysOn 可用性グループを有効にする] チェック ボックスをオフにし、[OK] をクリックします。

    SQL Server 構成マネージャーによって変更内容が保存され、SQL Server サービスが再起動されます。 SQL Server サービスが再起動すると、AlwaysOn が無効になり、IsHadrEnabled サーバー プロパティは、AlwaysOn 可用性グループが無効であることを示す 0 に設定されます。

  5. このトピックの「補足情報: AlwaysOn を無効にした後」を読むことをお勧めします。

[トップに戻る] リンクで使用される矢印アイコン[先頭に戻る]

SQL Server PowerShell の使用

AlwaysOn を無効にするには

  1. ディレクトリ変更コマンド (cd) を使用して、AlwaysOn 可用性グループを無効にするサーバー インスタンスに移動します。

  2. AlwaysOn 可用性グループを無効にするには、Disable-SqlAlwaysOn コマンドレットを使用します。

    たとえば、次のコマンドは、SQL Server インスタンス (Computer\Instance) の AlwaysOn 可用性グループを無効にします。 このコマンドの場合、インスタンスを再起動する必要があり、再起動するかどうかを確認するメッセージが表示されます。

    Disable-SqlAlwaysOn -Path SQLSERVER:\SQL\Computer\Instance
    
    重要な注意事項重要

    Disable-SqlAlwaysOn コマンドレットを実行したときに SQL Server サービスを再起動するかどうかを制御する方法については、このトピックの「SQL Server サービスがコマンドレットによって再起動される条件」を参照してください。

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

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

[トップに戻る] リンクで使用される矢印アイコン[先頭に戻る]

補足情報: AlwaysOn を無効にした後

AlwaysOn 可用性グループを無効にした後、SQL Server インスタンスを無効にする必要があります。 サーバー インスタンスは、SQL 構成マネージャーによって自動的に再起動されます。 ただし、Disable-SqlAlwaysOn コマンドレットを使用した場合は、サーバー インスタンスを手動で再起動する必要があります。 詳細については、「sqlservr アプリケーション」を参照してください。

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

  • SQL Server の起動時に可用性データベースは開始されず、アクセス不能となります。

  • サポートされる AlwaysOn Transact-SQL ステートメントは DROP AVAILABILITY GROUP のみとなります。 CREATE AVAILABILITY GROUP と ALTER AVAILABILITY GROUP、および ALTER DATABASE の SET HADR オプションはサポートされません。

  • AlwaysOn 可用性グループを無効にしても、WSFC 内の AlwaysOn 可用性グループの構成データと SQL Server のメタデータにその影響が及ぶことはありません。

1 つまたは複数の可用性グループの可用性レプリカをホストするすべてのサーバー インスタンスで AlwaysOn 可用性グループを永続的に無効にする場合は、次の手順を完了することをお勧めします。

  1. AlwaysOn を無効にする前にローカル可用性レプリカを削除しなかった場合は、サーバー インスタンスが可用性レプリカをホストしている可用性グループを削除します。 可用性グループの削除については、「可用性グループの削除 (SQL Server)」を参照してください。

  2. 残されたメタデータを除去するには、元の WSFC クラスターの一部であるサーバー インスタンスから影響を受ける可用性グループを削除します。

  3. プライマリ データベースには引き続きすべての接続からアクセスできますが、プライマリ データベースとセカンダリ データベース間のデータの同期は中止されます。

  4. セカンダリ データベースは、RESTORING 状態に入ります。 これらは削除するか、RESTORE WITH RECOVERY を使用して復元できます。 ただし、復元されたデータベースは、それ以降、可用性グループのデータの同期対象とはなりません。

SQL Server サービスがコマンドレットによって再起動される条件

現在実行中のサーバー インスタンスで、Enable-SqlAlwaysOn または Disable-SqlAlwaysOn を使用して現在の AlwaysOn 設定を変更すると、SQL Server サービスが再起動されます。 再起動の動作は次の条件によって異なります。

-NoServiceRestart パラメーターの指定

-Force パラメーターの指定

SQL Server サービスの再起動

なし

なし

既定では再起動されます。 ただし、次のプロンプトが表示されます。

このアクションを完了するには、サーバー インスタンス '<instance_name>' の SQL Server サービスを再起動する必要があります。 続行しますか?

[Y] はい  [N] いいえ  [S] 中断  [?]ヘルプ (既定値は "Y"):

N または S を指定した場合、サービスは再起動されません。

なし

あり

サービスは再起動されます。

あり

なし

サービスは再起動されません。

あり

あり

サービスは再起動されません。

[トップに戻る] リンクで使用される矢印アイコン[先頭に戻る]

関連項目

参照

SERVERPROPERTY (Transact-SQL)

概念

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