次の方法で共有


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

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

重要

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

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

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

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

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

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

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

要件 リンク
チェックボックス システムがドメイン コントローラーではないことを確認します。 可用性グループは、ドメイン コントローラーではサポートされていません。
チェックボックス すべてのコンピューターで 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 クラスター内のすべてのノードにインストールされていることを確認します。 ** 重要 ** Always On 可用性グループが展開されている WSFC クラスターのノードには、いくつかの修正プログラムが必要または推奨されます。 詳細については、後の「AlwaysOn 可用性グループをサポートする Windows 修正プログラム (Windows システム)」を参照してください。

重要

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

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

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

Windows 2008 SP2 への適用 Windows 2008 R2 SP1 への適用 Windows 2012 に含まれている サポートしています... 修正プログラム リンク
チェックボックス はい イエス はい 最適な 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 のインストール後、Validate SCSI Device Vital Product Data (VPD) テストで不合格になる
チェックボックス はい はい ローカル レプリカへの高速フェールオーバー WSFC ノードで Windows Server 2008 R2 Service Pack 1 (SP1) を実行している場合は、サポート技術情報の記事 2687741 に記載されている修正プログラムがインストールされていることを確認します。

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

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

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 Learning Series: WORKER Pool Usage for HADRON Enabled Databases (CSS SQL Server Engineers Blog)」を参照してください。

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

タスク 必要なアクセス許可
データベース ミラーリング エンドポイントを作成する 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 Client Connectivity (SQL Server)」を参照してください。

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

制限 (FCI)

Note

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)

前提条件 リンク
チェックボックス FCI を使用して可用性レプリカをホストする場合は、サポート技術情報の記事 KB 976097 に記載されている Windows Server 2008 の修正プログラムが、システム管理者によってインストール済みであることを事前に確認してください。 この修正プログラムにより、フェールオーバー クラスター管理 Microsoft 管理コンソール (MMC) スナップインは、一部の WSFC ノードでのみ使用できる非対称記憶域共有ディスクをサポートできます。 KB 976097: 非対称ストレージのサポートをフェールオーバー クラスターの管理 MMC スナップインに追加するための修正プログラム (Windows Server 2008 または Windows Server 2008 R2 を実行するフェールオーバー クラスター用)
チェックボックス 標準の 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 可用性グループを有効にすると、WSFC クラスターを (サービス SID 経由で) 完全に制御できます。

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

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

  • 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)

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

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

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

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

必要条件 リンク
チェックボックス ユーザー データベースであること。 システム データベースを可用性グループに追加することはできません。
チェックボックス 可用性グループの作成先となる 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" 状態になります。

      Note

      失敗した広告ファイル操作への応答については、「 失敗した 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)