AlwaysOn 可用性グループの前提条件、制限事項、および推奨事項 (SQL Server)

このトピックでは、ホスト コンピューター、Windows Server フェールオーバー クラスタリング (WSFC) クラスター、サーバー インスタンス、可用性グループの前提条件、制限、推奨事項など、Always On可用性グループの展開に関する考慮事項について説明します。 各コンポーネントのセキュリティに関する考慮事項のほか、要求される権限 (該当する場合) にも触れています。

重要

可用性グループAlways Onデプロイする前に、このトピックのすべてのセクションを読むことを強くお勧めします。

AlwaysOn 可用性グループをサポートする .NET 修正プログラム

Always On可用性グループで使用するSQL Server 2014 のコンポーネントと機能によっては、次の表に示す追加の .NET 修正プログラムをインストールする必要がある場合があります。 これらの修正プログラムは任意の順序でインストールできます。

依存機能 修正プログラム Link
チェックボックス Reporting Services .NET 3.5 SP1 の修正プログラムでは、読み取り専用、読み取り専用、マルチsubnetfailover の AlwaysOn 機能に対する SQL クライアントのサポートが追加されます。 修正プログラムは、各 Reporting Services レポート サーバーにインストールする必要があります。 KB 2654347: AlwaysOn 機能のサポートを追加するための .NET 3.5 SP1 の修正プログラム

Windows のシステム要件と推奨事項

チェック リスト: 要件 (Windows システム)

Always On可用性グループ機能をサポートするには、1 つ以上の可用性グループに参加するすべてのコンピューターが、次の基本的な要件を満たしていることを確認します。

要件 Link
チェックボックス システムがドメイン コントローラーではないことを確認します。 可用性グループは、ドメイン コントローラーではサポートされていません。
チェックボックス すべてのコンピューターで x86 (WOW64 は不可) または x64 Windows Server 2008 以降のバージョンが実行されていることを確認します。 WOW64 (Windows 64 ビット版の Windows 32 ビット) では、Always On可用性グループはサポートされていません。
チェックボックス すべてのコンピューターが、Windows Server フェールオーバー クラスタリング (WSFC) クラスター内のノードであることを確認します。 Windows Server フェールオーバー クラスタリング (WSFC) と SQL Server
チェックボックス 必要な可用性グループの構成に耐える十分なノードが WSFC クラスターに存在することを確認します。 WSFC ノードは、1 つの可用性グループにつき 1 つだけ可用性レプリカをホストすることができます。 特定の WSFC ノードでは、SQL Serverの 1 つ以上のインスタンスで、多くの可用性グループの可用性レプリカをホストできます。

予定している可用性グループの可用性レプリカをサポートするために必要な WSFC ノードの数については、データベース管理者にお問い合わせください。

AlwaysOn 可用性グループ (SQL Server) の概要
チェックボックス すべての適用可能な Windows 修正プログラムが WSFC クラスター内のすべてのノードにインストールされていることを確認します。 **大事な**可用性グループがデプロイされている WSFC クラスターのノードには、いくつかの修正プログラムAlways On必要または推奨されます。 詳細については、後の「AlwaysOn 可用性グループをサポートする Windows 修正プログラム (Windows システム)」を参照してください。

重要

可用性グループへの接続に必要な構成が環境に対して正しく実施されていることも確認します。 詳細については、「AlwaysOn クライアント接続 (SQL Server)」を参照してください。

AlwaysOn 可用性グループをサポートする Windows 修正プログラム (Windows システム)

クラスター トポロジによっては、追加の Windows Server 2008 Service Pack 2 (SP2) または Windows Server 2008 R2 修正プログラムが、Always On可用性グループのサポートに適用される場合があります。 次の表で、これらの修正プログラムを示します。 これらの修正プログラムは任意の順序でインストールできます。

Windows 2008 SP2 への適用 Windows 2008 R2 SP1 への適用 Windows 2012 に含まれている サポート対象... 修正プログラム Link
チェックボックス はい はい はい 最適な WSFC クォーラムの構成 サポート技術情報の記事 2494036 に記載されている修正プログラムが、各 WSFC ノードにインストールされていることを確認します。

この修正プログラムは、非自動フェールオーバー ターゲットでの最適なクォーラム構成をサポートします。 投票するノードを自分で選択できるようにすることで、マルチサイト クラスターの改善を図ります。
KB 2494036: 修正プログラムを使用すると、Windows Server 2008 および Windows Server 2008 R2 でクォーラム投票がないクラスター ノードを構成できます

クォーラム投票の詳細については、「WSFC クォーラム モードと投票構成 (SQL Server)」を参照してください。
チェックボックス はい はい はい ネットワーク帯域幅の効率的な使用 サポート技術情報の記事 2616514 に記載されている修正プログラムが、各 WSFC ノードにインストールされていることを確認します。

この修正プログラムがないと、クラスター サービスはクラスター ノード間で不要なレジストリ通知を送信します。 この動作により、ネットワーク帯域幅が制限されます。これは、Always On可用性グループの重大な問題です。
KB 2616514: クラスター サービスは、Windows Server 2008 または Windows Server 2008 R2 のクラスター ノード間で不要なレジストリ キー変更通知を送信します
チェックボックス はい 適用なし 一部の WSFC ノードから利用できないディスクに対する VPD ストレージ テスト WSFC ノードで Windows Server 2008 R2 Service Pack 1 (SP1) が実行されている場合に、オンラインの (なおかつ WSFC クラスター内の一部のノードから利用できない) ディスクに対して誤って Validate SCSI Device Vital Product Data (VPD) ストレージ テストを実行し、その結果不合格になった場合は、サポート技術情報の記事 2531907 に掲載されている修正プログラムをインストールします。

この修正プログラムは、ディスクがオンラインである場合に、誤った警告やエラーが検証レポートに出力されるのを防ぎます。
KB 2531907: Windows Server 2008 R2 SP1 のインストール後に SCSI デバイスの重要な製品データ (VPD) テストが失敗する
チェックボックス はい はい ローカル レプリカへのフェールオーバーの高速化 WSFC ノードで Windows Server 2008 R2 Service Pack 1 (SP1) を実行している場合は、サポート技術情報の記事 2687741 に記載されている修正プログラムがインストールされていることを確認します。

この修正プログラムは、ローカル レプリカへのAlways On可用性グループのフェールオーバーのパフォーマンスを向上させます。
KB 2687741: SQL Server 2012 の "AlwaysOn 可用性グループ" 機能のパフォーマンスを向上させる修正プログラムは、Windows Server 2008 R2 で使用できます
チェックボックス はい はい はい 非対称ストレージ-フェールオーバー クラスター インスタンス (FCI) Always On可用性グループに対してフェールオーバー クラスター インスタンス (FCI) が有効になる場合は、Windows Server 2008 修正プログラムをインストール976097。

この修正プログラムを使用すると、フェールオーバー クラスター管理 Microsoft 管理コンソール (MMC) スナップインで、一部の WSFC ノードでのみ使用できる非対称ストレージ共有ディスクをサポートできます。
KB 976097: Windows Server 2008 または Windows Server 2008 R2 を実行しているフェールオーバー クラスターのフェールオーバー クラスター管理 MMC スナップインに非対称ストレージのサポートを追加する修正プログラム

AlwaysOn アーキテクチャ ガイド: フェールオーバー クラスター インスタンスと可用性グループの使用による高可用性および災害復旧ソリューションの構築
チェックボックス はい はい 適用なし インターネット プロトコル セキュリティ (IPsec) 環境で IPsec 接続を使用する場合、クライアント コンピューターが仮想ネットワーク名 (このコンテキストでは可用性グループ リスナー) への IPsec 接続を再確立するときに、長時間 (約 2 ~ 3 分) の遅延が発生する可能性があります。 IPsec 接続を使用する場合は、サポート技術情報の記事 (KB 980915) に詳細が記載されている特定のシナリオについてお読みになることをお勧めします。 KB 980915: Windows Server 2003、Windows Vista、Windows Server 2008、Windows 7、または Windows Server 2008 R2 を実行しているコンピューターから IPSec 接続を再接続すると、長い遅延が発生します
チェックボックス はい はい はい IPv6 IPv6 を使用する場合は、Windows Server オペレーティング システムに応じて、サポート技術情報の記事 2578103 または 2578113 に詳細が記載されている特定のシナリオについてお読みになることをお勧めします。

Windows Server トポロジが IP version 6 (IPv6) を使用する場合、WSFC クラスター サービスが IPv6 IP アドレスのフェールオーバーに約 30 秒かかります。 このため、クライアントは IPv6 IP アドレスに再接続するまでに、約 30 秒待機することになります。
KB 2578103 (Windows Server 2008): クラスター サービスは、Windows Server 2008 で IPv6 IP アドレスをフェールオーバーするのに約 30 秒かかります

KB 2578113 (Windows Server 2008 R2): Windows Server 2008 R2:クラスター サービスは、Windows Server 2008 R2 で IPv6 IP アドレスをフェールオーバーするのに約 30 秒かかります
チェックボックス はい はい はい クラスターとアプリケーション サーバー間にルーターが存在しない フェールオーバー クラスターとアプリケーション サーバー間にルーターがない場合に、クラスター サービスのネットワーク関連リソースのフェールオーバー操作が遅くなります。 これにより、可用性グループがフェールオーバーした後でクライアントの再接続が遅延します。 ルーターがない場合は、サポート技術情報の記事 2582281 に詳細が記載されている特定のシナリオについてお読みになり、環境に該当する場合は修正プログラムをインストールすることをお勧めします。 KB 2582281: クラスターとアプリケーション サーバーの間にルーターが存在しない場合のフェールオーバー操作が遅い

可用性レプリカをホストするコンピューターに関する推奨事項 (Windows システム)

  • 同程度のシステム: 可用性グループ内の可用性レプリカはすべて、ワークロードの処理能力が同程度であるシステム上で運用する必要があります。

  • 専用ネットワーク アダプター:最適なパフォーマンスを得るには、可用性グループに専用のネットワーク アダプター (ネットワーク インターフェイス カード) Always On使用します。

  • 十分なディスク領域: 可用性レプリカをホストするサーバー インスタンスのあるすべてのコンピューターには、可用性グループ内のすべてのデータベースを格納できるだけのディスク領域が存在する必要があります。 プライマリ データベースが大きくなるにつれて、対応するセカンダリ データベースも同じだけ大きくなる点に注意してください。

権限 (Windows システム)

WSFC クラスターを管理するユーザーは、すべてのクラスター ノードのシステム管理者であることが必要です。

クラスターを管理するためのアカウントの詳細については、「付録 A: フェールオーバー クラスターの要件」を参照してください。

関連タスク (Windows システム)

タスク Link
HostRecordTTL の値を設定します。 HostRecordTTL の変更 (Windows PowerShell を使用)

HostRecordTTL の変更 (Windows PowerShell を使用)

  1. [管理者として実行] を選択して PowerShell ウィンドウを開きます。

  2. FailoverClusters モジュールをインポートします。

  3. Get-ClusterResource コマンドレットを使用してネットワーク名リソースを検索し、次に Set-ClusterParameter コマンドレットを使用して HostRecordTTL 値を設定します。次に例を示します。

    Get-ClusterResource "<NetworkResourceName>" | Set-ClusterParameter HostRecordTTL <TimeInSeconds>

    次に示す PowerShell の例では、"SQL Network Name (SQL35)" というネットワーク名リソースの HostRecordTTL を 300 秒に設定します。

    Import-Module FailoverClusters  
    
    $nameResource = "SQL Network Name (SQL35)"  
    Get-ClusterResource $nameResource | Set-ClusterParameter ClusterParameter HostRecordTTL 300  
    

    ヒント

    新しい PowerShell ウィンドウを開くたびに、FailoverClusters モジュールをインポートする必要があります。

関連コンテンツ (Windows システム)

SQL Server インスタンスの前提条件と制限

可用性グループにはそれぞれ、 のインスタンスによってホストされる一連のフェールオーバー パートナー ( 可用性レプリカ SQL Server) が必要です。 サーバー インスタンスには、 スタンドアロン インスタンス または SQL Serverフェールオーバー クラスター インスタンス (FCI) を使用できます。

チェック リスト: 前提条件 (サーバー インスタンス)

前提条件 リンク
チェックボックス ホスト コンピューターは、Windows Server フェールオーバー クラスタリング (WSFC) ノードであることが必要です。 特定の可用性グループの可用性レプリカをホストするSQL Serverのインスタンスは、単一の WSFC クラスターの個別のノードに存在する必要があります。 唯一の例外は、別の WSFC クラスターに移行するときに、可用性グループは一時的に 2 つのクラスターにまたがることができるという点です。 Windows Server フェールオーバー クラスタリング (WSFC) と SQL Server

フェールオーバー クラスタリングと AlwaysOn 可用性グループ (SQL Server)
チェックボックス 可用性グループで Kerberos を操作するには:

可用性グループの可用性レプリカをホストするすべてのサーバー インスタンスで、同じ SQL Server サービス アカウントを使用する必要があります。

ドメイン管理者は、可用性グループ リスナーの仮想ネットワーク名 (VNN) の SQL Server サービス アカウントに、Active Directory でサーバー プリンシパル名 (SPN) を手動で登録する必要があります。 SQL Server サービス アカウント以外のアカウントに SPN が登録されている場合は、認証が失敗します。

** 重要 ** SQL Server サービス アカウントを変更した場合は、ドメイン管理者が SPN を手動で再登録する必要があります。
Kerberos 接続用のサービス プリンシパル名の登録

簡単な説明:

Kerberos と SPN は相互認証を行います。 SPN は、SQL Server サービスを起動する Windows アカウントにマップされます。 SPN が正常に登録されていないか登録に失敗した場合、Windows セキュリティ レイヤーは、SPN に関連するアカウントを決定することができず、Kerberos 認証は使用できません。

注:NTLM には、この要件はありません。
チェックボックス SQL Server フェールオーバー クラスター インスタンス (FCI) を使用して可用性レプリカをホストする予定がある場合は、FCI の制限を確実に理解し、FCI の要件が満たされていることを確認してください。 SQL Server のフェールオーバー クラスター インスタンス (FCI) を使用して可用性レプリカをホストするための前提条件と要件 (このトピックの後半)
チェックボックス 各サーバー インスタンスは、SQL Server 2014 のEnterprise Editionを実行している必要があります。 SQL Server 2014 の各エディションがサポートする機能
チェックボックス 特定の可用性グループの可用性レプリカをホストするすべてのサーバー インスタンス間で SQL Server の照合順序を統一する必要があります。 サーバーの照合順序の設定または変更
チェックボックス 可用性グループの可用性レプリカをホストする各サーバー インスタンスで、Always On可用性グループ機能を有効にします。 特定のコンピューターで、SQL Serverのインストールでサポートされているのと同じ数のサーバー インスタンスをAlways On可用性グループに対して有効にすることができます。 AlwaysOn 可用性グループの有効化と無効化 (SQL Server)

**大事な**WSFC クラスターを削除して再作成する場合は、元の WSFC クラスターでAlways On可用性グループに対して有効にされた各サーバー インスタンスで、Always On可用性グループ機能を無効にして再度有効にする必要があります。
チェックボックス すべてのサーバー インスタンスには、データベース ミラーリング エンドポイントが必要です。 このエンドポイントは、サーバー インスタンス上のミラーリング監視サーバーとデータベース ミラーリング パートナー、および可用性レプリカすべてによって共有されます。

可用性レプリカのホストとして選んだサーバー インスタンスがドメイン ユーザー アカウントで実行されていて、まだデータベース ミラーリング エンドポイントが存在しない場合、 新しい可用性グループ ウィザード (または 可用性グループへのレプリカの追加ウィザード) でエンドポイントを作成し、サーバー インスタンス サービス アカウントに CONNECT 権限を許可することができます。 ただし、 SQL Server サービスがビルトイン アカウント (Local System、Local Service、Network Service など) で実行されている場合または非ドメイン アカウントで実行されている場合は、エンドポイント認証に証明書を使用する必要があります。ウィザードは、サーバー インスタンス上でデータベース ミラーリング エンドポイントを作成できなくなります。 この場合は、データベース ミラーリング エンドポイントを手動で作成してからウィザードを起動することをお勧めします。

** セキュリティ に関する注意 **Always On可用性グループのトランスポート セキュリティは、データベース ミラーリングの場合と同じです。
データベース ミラーリング エンドポイント (SQL Server)

データベース ミラーリングと AlwaysOn 可用性グループのトランスポート セキュリティ (SQL Server)
チェックボックス FILESTREAM を使用するデータベースを可用性グループに追加する場合は、その可用性グループの可用性レプリカをホストするすべてのサーバー インスタンスで FILESTREAM が有効になっていることを確認してください。 FILESTREAM の有効化と構成
チェックボックス 包含データベースを可用性グループに追加する場合は、その可用性グループの可用性レプリカをホストするすべてのサーバー インスタンスで contained database authentication サーバー オプションが 1 に設定されていることを確認してください。 contained database authentication サーバー構成オプション

サーバー構成オプション (SQL Server)

可用性グループによるスレッドの使用

Always On可用性グループには、ワーカー スレッドに関する次の要件があります。

  • SQL Serverのアイドル状態のインスタンスでは、Always On可用性グループは 0 個のスレッドを使用します。

  • 可用性グループが使用するスレッドの最大数は、サーバー スレッドの最大数 (max worker threads) から 40 を引いた数にあらかじめ設定されています。

  • 特定のサーバー インスタンスでホストされる可用性レプリカは 1 つのスレッド プールを共有します。

    スレッドは、次のように要求に基づいて共有されます。

    • 通常は 3 個から 10 個の共有スレッドがありますが、プライマリ レプリカのワークロードに応じてこの数が増える場合があります。

    • 特定のスレッドが一定期間アイドル状態になると、そのスレッドは解放され、 SQL Server の汎用スレッド プールに戻されます。 通常、非アクティブ スレッドは、非アクティブな状態のまま最大 15 秒経過すると解放されます。 ただし、最後の利用状況によっては、アイドル状態のスレッドが保持される時間が延長される場合があります。

  • さらに、可用性グループでは非共有スレッドを次のように使用します。

    • 各プライマリ レプリカでは、プライマリ データベースごとにログ キャプチャ スレッドを 1 つ使用します。 また、セカンダリ データベースごとにログ送信スレッドを 1 つ使用します。 ログ送信スレッドは、非アクティブな状態のまま最大 15 秒経過すると解放されます。

    • 各セカンダリ レプリカでは、セカンダリ データベースごとに再実行スレッドを 1 つ使用します。 再実行スレッドは、非アクティブな状態のまま最大 15 秒経過すると解放されます。

    • セカンダリ レプリカでのバックアップでは、バックアップ操作の間、プライマリ レプリカにスレッドが保持されます。

詳細については、「AlwaysON - HADRON ラーニング シリーズ: HADRON 対応データベースのワーカー プールの使用状況 (CSS SQL Server エンジニアブログ)」を参照してください。

権限 (サーバー インスタンス)

タスク 必要なアクセス許可
データベース ミラーリング エンドポイントを作成する CREATE ENDPOINT 権限、または sysadmin 固定サーバー ロールのメンバーシップが必要です。 また、CONTROL ON ENDPOINT 権限も必要です。 詳細については、「GRANT (エンドポイントの権限の許可) (Transact-SQL)」を参照してください。
Always On可用性グループの有効化 ローカル コンピューターの Administrator グループのメンバーシップおよび WSFC クラスターに対するフル コントロール権限が必要です。

関連タスク (サーバー インスタンス)

タスク トピック
データベース ミラーリング エンドポイントが存在するかどうかを確認する sys.database_mirroring_endpoints (Transact-SQL)
データベース ミラーリング エンドポイントを作成する (まだ存在しない場合) Windows 認証でのデータベース ミラーリング エンドポイントの作成 (Transact-SQL)

データベース ミラーリング エンドポイントでの証明書の使用 (Transact-SQL)

AlwaysOn 可用性グループのデータベース ミラーリング エンドポイントの作成 (SQLServer PowerShell)
AlwaysOn 可用性グループを有効にする AlwaysOn 可用性グループの有効化と無効化 (SQL Server)

関連コンテンツ (サーバー インスタンス)

ネットワーク接続の推奨事項

WSFC クラスター メンバー間の通信と、可用性レプリカ間の通信には、同じネットワーク リンクを使用することを強くお勧めします。 別々のネットワーク リンクを使用すると、一部のリンクにエラーが発生した場合に (断続的なエラーであっても)、予期しない動作が発生する可能性があります。

たとえば、自動フェールオーバーをサポートする可用性グループでは、自動フェールオーバー パートナーであるセカンダリ レプリカの状態が SYNCHRONIZED である必要があります。 このセカンダリ レプリカへのネットワーク リンクにエラーが発生した場合 (断続的なエラーであっても)、レプリカが UNSYNCHRONIZED 状態になり、リンクが復元されるまで再同期を開始できません。 セカンダリ レプリカが非同期状態にある間に WSFC クラスターが自動フェールオーバーを要求しても、自動フェールオーバーは行われません。

クライアント接続のサポート

クライアント接続Always On可用性グループのサポートについては、「AlwaysOn クライアント接続 (SQL Server)」を参照してください。

SQL Server のフェールオーバー クラスター インスタンス (FCI) を使用して可用性レプリカをホストするための前提条件と制限

制限 (FCI)

注意

SQL Server 2014 以降、AlwaysOn フェールオーバー クラスター インスタンスは、Windows Server 2008 R2 と Windows Server 2012 の両方でクラスター化された共有ボリューム (CSV) をサポートしています。 CSV の詳細については、「 フェールオーバー クラスターのクラスターの共有ボリュームについて」を参照してください。

  • FCI のクラスター ノードは、特定の可用性グループに対して 1 つのレプリカのみをホストできます 。FCI に可用性レプリカを追加した場合、FCI 所有者として可能な WSFC クラスター ノードは、同じ可用性グループの別のレプリカをホストできません。

    さらに、その他の各レプリカは、同じ WSFC クラスター内の別の WSFC ノードに存在する SQL Server 2012 のインスタンスによってホストされている必要があります。 唯一の例外は、別の WSFC クラスターに移行するときに、可用性グループは一時的に 2 つのクラスターにまたがることができるという点です。

  • 可用性グループによる自動フェールオーバーは FCI ではサポートされない: FCI では可用性グループによる自動フェールオーバーがサポートされないため、FCI によってホストされる可用性レプリカは手動フェールオーバー用にのみ構成できます。

  • FCI ネットワーク名の変更: 可用性レプリカがホストされている FCI のネットワーク名を変更する必要がある場合は、レプリカをその可用性グループから削除してから再度、可用性グループに追加する必要があります。 プライマリ レプリカを削除することはできません。そのため、プライマリ レプリカがホストされている FCI の名前を変更するには、セカンダリ レプリカにフェールオーバーしてから、以前のプライマリ レプリカを削除し、再度追加する必要があります。 FCI の名前を変更すると、そのデータベース ミラーリング エンドポイントの URL が変わる可能性があります。 レプリカを追加する際は、必ず最新のエンドポイントの URL を指定してください。

チェック リスト: 前提条件 (FCI)

前提条件 Link
チェックボックス FCI を使用して可用性レプリカをホストする場合は、サポート技術情報の記事 KB 976097 に記載されている Windows Server 2008 の修正プログラムが、システム管理者によってインストール済みであることを事前に確認してください。 この修正プログラムを使用すると、フェールオーバー クラスター管理 Microsoft 管理コンソール (MMC) スナップインで、一部の WSFC ノードでのみ使用できる非対称ストレージ共有ディスクをサポートできます。 KB 976097: Windows Server 2008 または Windows Server 2008 R2 を実行しているフェールオーバー クラスターのフェールオーバー クラスター管理 MMC スナップインに非対称ストレージのサポートを追加するための修正プログラム
チェックボックス 標準の SQL Server フェールオーバー クラスター インスタンスのインストールと同様、各 SQL Server フェールオーバー クラスター インスタンス (FCI) が必要な共有ストレージを所有していることを確認してください。

関連タスク (FCI)

タスク トピック
SQL Server フェールオーバー クラスターのインストール 新しい SQL Server フェールオーバー クラスターの作成 (セットアップ)
既存の SQL Server フェールオーバー クラスターのインプレース アップグレード SQL Server フェールオーバー クラスター インスタンスのアップグレード (セットアップ)
既存の SQL Server フェールオーバー クラスターのメンテナンス SQL Server フェールオーバー クラスターでのノードの追加または削除 (セットアップ)

関連コンテンツ (FCI)

可用性グループの前提条件と制限

制限 (可用性グループ)

  • 可用性レプリカは、1 つの WSFC クラスターの異なるノードによってホストされている必要があります 。特定の可用性グループの場合、可用性レプリカは、同じ WSFC クラスターの異なるノードで実行されているサーバー インスタンスによってホストされている必要があります。 唯一の例外は、別の WSFC クラスターに移行するときに、可用性グループは一時的に 2 つのクラスターにまたがることができるという点です。

    Note

    同じ物理コンピューター上の各仮想マシンは独立したコンピューターとして動作するため、同じ可用性グループの可用性レプリカをそれぞれの仮想マシンがホストできます。

  • 一意の可用性グループ名: 各可用性グループ名は、WSFC クラスターで一意である必要があります。 可用性グループ名の最大文字数は 128 文字です。

  • 可用性レプリカ: 各可用性グループでは、1 つのプライマリ レプリカと最大 8 つのセカンダリ レプリカがサポートされます。 すべてのレプリカを非同期コミット モードで実行することも、最大 3 つのレプリカを同期コミット モードで実行することもできます (1 つのプライマリ レプリカと 2 つの同期セカンダリ レプリカ)。

  • コンピューターあたりの可用性グループおよび可用性データベースの最大数: コンピューター (仮想マシンまたは物理コンピューター) に実際に配置できるデータベースおよび可用性グループの数はハードウェアとワークロードによって異なりますが、強制的な制限はありません。 マイクロソフトでは、物理コンピューターあたり 10 の AG と 100 の DB を使用して広範なテストを行いました。 過剰な負荷がかかっているシステムには、ワーカー スレッドの枯渇、AlwaysOn システム ビューおよび DMV の応答の遅延、ディスパッチャー システム ダンプの一時停止などの症状があります (ただし、これだけではありません)。 アプリケーション SLA 内でピーク ワークロード容量を処理できることを確認するために、実稼働環境と同様のワークロードを使用して環境を十分にテストしてください。 SLA を検討する際は、障害条件下の負荷や期待される応答時間を考慮してください。

  • フェールオーバー クラスター マネージャーを使用して可用性グループを操作しないでください。

    次に例を示します。

    • 可用性グループのプロパティ (たとえば、有効な所有者) を変更しないでください。

    • フェールオーバー クラスター マネージャーを使用して可用性グループをフェールオーバーしないでください。 Transact-SQL または SQL Server Management Studio を使用する必要があります。

前提条件 (可用性グループ)

可用性グループの構成を作成したり再構成したりする場合は、次の要件を満たす必要があります。

前提条件 説明
チェックボックス SQL Server フェールオーバー クラスター インスタンス (FCI) を使用して可用性レプリカをホストする予定がある場合は、FCI の制限を確実に理解し、FCI の要件が満たされていることを確認してください。 SQL Server のフェールオーバー クラスター インスタンス (FCI) を使用して可用性レプリカをホストするための前提条件と制限 (このトピックの前半)

セキュリティ (可用性グループ)

  • セキュリティは、Windows Server フェールオーバー クラスタリング (WSFC) クラスターから継承されます。 WSFC には、WSFC クラスター API 全体の粒度で 2 レベルのユーザー セキュリティが用意されています。

    • 読み取り専用アクセス

    • フル コントロール

      可用性グループAlways On完全な制御が必要であり、SQL ServerのインスタンスでAlways On可用性グループを有効にすると、(サービス SID を介して) WSFC クラスターを完全に制御できます。

      サーバー インスタンスのセキュリティを WSFC フェールオーバー クラスター マネージャーで直接追加したり削除したりすることはできません。 WSFC セキュリティ セッションを管理するには、SQL ServerのSQL Server 構成マネージャーまたは同等の WMI を使用します。

  • SQL Serverの各インスタンスには、レジストリ、クラスター、および soforth にアクセスするためのアクセス許可が必要です。

  • 可用性グループの可用性レプリカをホストするサーバー インスタンス間の接続Always On暗号化を使用することをお勧めします。

権限 (可用性グループ)

タスク 必要なアクセス許可
可用性グループの作成 sysadmin 固定サーバー ロールのメンバーシップと、CREATE AVAILABILITY GROUP サーバー権限、ALTER ANY AVAILABILITY GROUP 権限、CONTROL SERVER 権限のいずれかが必要です。
可用性グループの変更 可用性グループの ALTER AVAILABILITY GROUP 権限、CONTROL AVAILABILITY GROUP 権限、ALTER ANY AVAILABILITY GROUP 権限、または CONTROL SERVER 権限が必要です。

さらに、データベースを可用性グループに参加させるには、 db_owner 固定データベース ロールのメンバーシップが必要です。
可用性グループの削除 可用性グループの ALTER AVAILABILITY GROUP 権限、CONTROL AVAILABILITY GROUP 権限、ALTER ANY AVAILABILITY GROUP 権限、または CONTROL SERVER 権限が必要です。 ローカル レプリカの場所でホストされていない可用性グループを削除するには、その可用性グループ上の CONTROL SERVER 権限または CONTROL 権限が必要です。

関連タスク (可用性グループ)

タスク トピック
可用性グループの作成 可用性グループ (新しい可用性グループ ウィザード)

可用性グループの作成 (Transact-SQL)

可用性グループの作成 (SQL Server PowerShell)

可用性レプリカを追加または変更する場合のエンドポイント URL の指定 (SQL Server)
可用性レプリカの数の変更 可用性グループへのセカンダリ レプリカの追加 (SQL Server)

可用性グループへのセカンダリ レプリカの参加 (SQL Server)

可用性グループからのセカンダリ レプリカの削除 (SQL Server)
可用性グループ リスナーの作成 可用性グループ リスナーの作成または構成 (SQL Server)
可用性グループの削除 可用性グループの削除 (SQL Server)

可用性データベースの前提条件と制限

可用性グループに追加するデータベースは、次の前提条件と制限を満たしている必要があります。

チェック リスト: 要件 (可用性データベース)

可用性グループに追加するデータベースは、次の条件を満たしている必要があります。

必要条件 Link
チェックボックス ユーザー データベースであること。 システム データベースを可用性グループに追加することはできません。
チェックボックス 可用性グループの作成先となる SQL Server のインスタンス上に存在し、そのサーバー インスタンスからアクセスできること。
チェックボックス 読み取り/書き込み可能なデータベースであること。 読み取り専用データベースを可用性グループに追加することはできません。 sys.databases (is_read_only = 0)
チェックボックス マルチユーザー データベースであること。 sys.databases (user_access = 0)
チェックボックス AUTO_CLOSE が使用されていないこと。 sys.databases (is_auto_close_on = 0)
チェックボックス 完全復旧モデル (完全復旧モードとも呼ばれます) を使用すること。 sys.databases (recovery_model = 1)
チェックボックス データベースの完全バックアップが少なくとも 1 つ存在すること。

注:データベースを完全復旧モードに設定した後、完全復旧ログ チェーンを開始するには完全バックアップが必要です。
データベースの完全バックアップの作成 (SQL Server)
チェックボックス 既存の可用性グループに属していないこと。 sys.databases (group_database_id = NULL)
チェックボックス データベース ミラーリング用に構成されていないこと。 sys.database_mirroring (データベースがミラー化の対象となっていない場合、"mirroring_" で始まるすべての列は NULL)
チェックボックス FILESTREAM を使用するデータベースを可用性グループに追加する前に、その可用性グループの可用性レプリカをホストしている (またはこれからホストする) すべてのサーバー インスタンスで FILESTREAM が有効になっていることを確認してください。 FILESTREAM の有効化と構成
チェックボックス 包含データベースを可用性グループに追加する前に、その可用性グループの可用性レプリカをホストしている (またはこれからホストする) 各サーバー インスタンスで、contained database authentication サーバー オプションが 1 に設定されていることを確認してください。 contained database authentication サーバー構成オプション

サーバー構成オプション (SQL Server)

注意

Always On可用性グループは、サポートされている任意のデータベース互換性レベルで動作します。

制限事項 (可用性データベース)

  • セカンダリ データベースのファイル パス (ドライブ文字を含む) が、対応するプライマリ データベースのパスと異なる場合、次の制限が適用されます。

    • 新しい可用性グループ ウィザード可用性グループへのデータベース追加ウィザード:[完全] オプションはサポートされません ([最初のデータの同期を選択] ページ)。

    • RESTORE WITH MOVE: セカンダリ データベースを作成するには、セカンダリ レプリカをホストする SQL Server の各インスタンス上で、WITH MOVE を使用してデータベース ファイルを復元する必要があります。

    • ファイルの追加操作への影響: 後でファイルの追加操作をプライマリ レプリカで実行した場合、セカンダリ データベースでエラーが発生する可能性があります。 この操作の失敗によってセカンダリ データベースが中断する可能性があります。 セカンダリ データベースが中断すると、セカンダリ レプリカが "NOT SYNCHRONIZING" 状態になります。

      注意

      失敗した広告ファイル操作への応答の詳細については、「 失敗したAdd-File操作のトラブルシューティング (AlwaysOn 可用性グループ)」を参照してください。

  • 可用性グループに現在属しているデータベースを削除することはできません。

TDE で保護されたデータベースの補足情報

透過的なデータ暗号化 (TDE) を使用する場合、他のキーの作成および暗号化解除を行うための証明書または非対称キーは、可用性グループの可用性レプリカをホストするすべてのサーバー インスタンスで同じである必要があります。 詳細については、「 別の SQL Server への TDE で保護されたデータベースの移動」を参照してください。

権限 (可用性データベース)

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

関連タスク (可用性データベース)

タスク トピック
セカンダリ データベースの準備 (手動) 可用性グループに対するセカンダリ データベースの手動準備 (SQL Server)
可用性グループへのセカンダリ データベースの参加 (手動) 可用性グループへのセカンダリ データベースの参加 (SQL Server)
可用性データベースの数の変更 可用性グループへのデータベースの追加 (SQL Server)

可用性グループからのセカンダリ データベースの削除 (SQL Server)

可用性グループからのプライマリ データベースの削除 (SQL Server)

関連コンテンツ

参照

AlwaysOn 可用性グループの概要 (SQL Server)
フェールオーバー クラスタリングと AlwaysOn 可用性グループ (SQL Server)
AlwaysOn クライアント接続 (SQL Server)