前提条件、制限事項、推奨事項 - Always On 可用性グループPrereqs, Restrictions, Recommendations - Always On Availability Groups

適用対象:○SQL Server XAzure SQL DatabaseXAzure SQL Data Warehouse XParallel Data Warehouse THIS TOPIC APPLIES TO: yesSQL ServernoAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

このトピックでは、 Always On 可用性グループAlways On availability groupsの展開に関して、各種コンポーネント (ホスト コンピューター、Windows Server フェールオーバー クラスタリング (WSFC)、サーバー インスタンス、可用性グループ) の前提条件、制限、推奨事項などの考慮事項について説明します。This topic describes considerations for deploying Always On 可用性グループAlways On availability groups, including prerequisites, restrictions, and recommendations for host computers, Windows Server failover clusters (WSFC), server instances, and availability groups. 各コンポーネントのセキュリティに関する考慮事項のほか、要求される権限 (該当する場合) にも触れています。For each of these components security considerations and required permissions, if any, are indicated.

重要

Always On 可用性グループAlways On availability groupsを配置する前に、このトピックのすべてのセクションを読むことを強くお勧めします。Before you deploy Always On 可用性グループAlways On availability groups, we strongly recommend that you read every section of this topic.

可用性グループをサポートする .Net 修正プログラム.Net Hotfixes that Support Availability Groups

SQL Server 2017SQL Server 2017 で使用する Always On 可用性グループAlways On availability groupsコンポーネントと機能によっては、次の表で指定されている追加の .Net 修正プログラムのインストールが必要になる場合があります。Depending on the SQL Server 2017SQL Server 2017 components and features you will use with Always On 可用性グループAlways On availability groups, you may need to install additional .Net hotfixes identified in the following table. これらの修正プログラムは任意の順序でインストールできます。The hotfixes can be installed in any order.

依存機能Dependent Feature 修正プログラムHotfix リンクLink
チェック ボックスCheckbox Reporting ServicesReporting Services .Net 3.5 SP1 の修正プログラムは、SQL クライアントに読み取り目的、読み取り専用、multisubnetfailover の Always On 機能のサポートを追加します。Hotfix for .Net 3.5 SP1 adds support to SQL Client for Always On features of Read-intent, readonly, and multisubnetfailover. 修正プログラムは、各 Reporting ServicesReporting Services レポート サーバーにインストールする必要があります。The hotfix needs to be installed on each Reporting ServicesReporting Services report server. KB 2654347: Always On 機能のサポートを追加する .Net 3.5 SP1 の修正プログラムKB 2654347: Hotfix for .Net 3.5 SP1 to add support for Always On features

Windows のシステム要件と推奨事項Windows System Requirements and Recommendations

このセクションの内容In This Section:

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

Always On 可用性グループAlways On availability groups の機能を利用するには、1 つまたは複数の可用性グループに参加するすべてのコンピューターが、次の基本要件を満たしている必要があります。To support the Always On 可用性グループAlways On availability groups feature, ensure that every computer that is to participate in one or more availability groups meets the following fundamental requirements:

要件Requirement リンクLink
チェック ボックスCheckbox システムがドメイン コントローラーではないことを確認します。Ensure that the system is not a domain controller. 可用性グループは、ドメイン コントローラーではサポートされていません。Availability groups are not supported on domain controllers.
チェック ボックスCheckbox すべてのコンピューターで Windows Server 2012 以降のバージョンが実行されていることを確認します。Ensure that each computer is running Windows Server 2012 or later versions. SQL Server 2016 のインストールに必要なハードウェアおよびソフトウェアHardware and Software Requirements for Installing SQL Server 2016
チェック ボックスCheckbox 各コンピューターが WSFC のノードであることを確認します。Ensure that each computer is a node in a WSFC. Windows Server フェールオーバー クラスタリング (WSFC) と SQL ServerWindows Server Failover Clustering (WSFC) with SQL Server
チェック ボックスCheckbox 必要な可用性グループの構成に耐える十分なノードが WSFC に存在することを確認します。Ensure that the WSFC contains sufficient nodes to support your availability group configurations. クラスター ノードでは、可用性グループのレプリカを 1 つホストできます。A cluster node can host one replica for an availability group. 同じノードで、同じ可用性グループのレプリカを 2 つホストすることはできません。The same node cannot host two replicas from the same availability group. クラスター ノードは複数の可用性グループに参加できます。その際、各グループからのレプリカは 1 つです。The cluster node can participate in multiple availability groups, with one replica from each group.

予定している可用性グループの可用性レプリカをサポートするために必要なクラスター ノードの数については、データベース管理者にお問い合わせください。Ask your database administrators how many cluster nodes are required for to support the availability replicas of the planned availability groups.

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

重要

可用性グループへの接続に必要な構成が環境に対して正しく実施されていることも確認します。Also ensure that your environment is correctly configured for connecting to an availability group. 詳細については、「 Always On クライアント接続 (SQL Server)For more information, see Always On Client Connectivity (SQL Server).

可用性レプリカをホストするコンピューターに関する推奨事項 (Windows システム)Recommendations for Computers That Host Availability Replicas (Windows System)

  • 同程度のシステム: 可用性グループ内の可用性レプリカはすべて、ワークロードの処理能力が同程度であるシステム上で運用する必要があります。Comparable systems: For a given availability group, all the availability replicas should run on comparable systems that can handle identical workloads.

  • 専用のネットワーク アダプター: 最適なパフォーマンスを得るには、 Always On 可用性グループAlways On availability groupsに専用のネットワーク アダプター (ネットワーク インターフェイス カード) を使用します。Dedicated network adapters: For best performance, use a dedicated network adapter (network interface card) for Always On 可用性グループAlways On availability groups.

  • 十分なディスク領域: 可用性レプリカをホストするサーバー インスタンスのあるすべてのコンピューターには、可用性グループ内のすべてのデータベースを格納できるだけのディスク領域が存在する必要があります。Sufficient disk space: Every computer on which a server instance hosts an availability replica must possess sufficient disk space for all the databases in the availability group. プライマリ データベースが大きくなるにつれて、対応するセカンダリ データベースも同じだけ大きくなる点に注意してください。Keep in mind that as primary databases grow, their corresponding secondary databases grow the same amount.

権限 (Windows システム)Permissions (Windows System)

WSFC を管理するユーザーは、すべてのクラスター ノードのシステム管理者であることが必要です。To administer a WSFC, the user must be a system administrator on every cluster node.

クラスターを管理するためのアカウントの詳細については、「 付録 A: フェールオーバー クラスターの要件」を参照してください。For more information about the account for administering the cluster, see Appendix A: Failover Cluster Requirements.

関連タスク (Windows システム)Related Tasks (Windows System)

タスクTask リンクLink
HostRecordTTL の値を設定します。Set the HostRecordTTL value. HostRecordTTL の変更 (Windows PowerShell を使用)Change the HostRecordTTL (Using Windows PowerShell)

HostRecordTTL の変更 (Windows PowerShell を使用)Change the HostRecordTTL (Using Windows PowerShell)

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

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

  3. Get-ClusterResource コマンドレットを使用してネットワーク名リソースを検索し、次に Set-ClusterParameter コマンドレットを使用して HostRecordTTL 値を設定します。次に例を示します。Use the Get-ClusterResource cmdlet to find the Network Name resource, then use Set-ClusterParameter cmdlet to set the HostRecordTTL value, as follows:

    Get-ClusterResource “<NetworkResourceName>” | Set-ClusterParameter HostRecordTTL <TimeInSeconds>Get-ClusterResource “<NetworkResourceName>” | Set-ClusterParameter HostRecordTTL <TimeInSeconds>

    次に示す PowerShell の例では、SQL Network Name (SQL35) というネットワーク名リソースの HostRecordTTL を 300 秒に設定します。The following PowerShell example sets the HostRecordTTL to 300 seconds for a Network Name resource named SQL Network Name (SQL35).

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

    ヒント

    新しい PowerShell ウィンドウを開くたびに、 FailoverClusters モジュールをインポートする必要があります。Every time you open a new PowerShell window, you need to import the FailoverClusters module.

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

SQL Server インスタンスの前提条件と制限SQL Server Instance Prerequisites and Restrictions

可用性グループにはそれぞれ、 のインスタンスによってホストされる一連のフェールオーバー パートナー ( 可用性レプリカ SQL ServerSQL Server) が必要です。Each availability group requires a set of failover partners, known as availability replicas, which are hosted by instances of SQL ServerSQL Server. サーバー インスタンスには、 スタンドアロン インスタンス または SQL ServerSQL Serverフェールオーバー クラスター インスタンス (FCI) を使用できます。A given server instance can be a stand-alone instance or a SQL ServerSQL Serverfailover cluster instance (FCI).

このセクションの内容In This Section:

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

前提条件Prerequisite リンクLinks
チェック ボックスCheckbox このホスト コンピューターは WSFC ノードである必要があります。The host computer must be a WSFC node. 可用性グループの可用性レプリカをホストする SQL ServerSQL Server のインスタンスは、クラスターの別のノードに存在します。The instances of SQL ServerSQL Server that host availability replicas for a given availability group reside on separate nodes of the cluster. 別のクラスターに移行するときに、可用性グループは一時的に 2 つのクラスターにまたがることができます。An availability group can temporarily straddle two clusters while being migrated to different cluster. SQL Server 2016 には分散型可用性グループが導入されています。SQL Server 2016 introduces distributed availability groups. 分散型可用性グループでは、2 つの可用性グループが別々のクラスターに存在します。In a distributed availability group two availability groups reside on different clusters. Windows Server フェールオーバー クラスタリング (WSFC) と SQL ServerWindows Server Failover Clustering (WSFC) with SQL Server

フェールオーバー クラスタリングと Always On 可用性グループ (SQL Server)Failover Clustering and Always On Availability Groups (SQL Server)

分散型可用性グループ (Always On 可用性グループ)Distributed Availability Groups (Always On Availability Groups)
チェック ボックスCheckbox 可用性グループで Kerberos を操作するには:If you want an availability group to work with Kerberos:

可用性グループの可用性レプリカをホストするすべてのサーバー インスタンスで、同じ SQL Server サービス アカウントを使用する必要があります。All server instances that host an availability replica for the availability group must use the same SQL Server service account.

ドメイン管理者は、可用性グループ リスナーの仮想ネットワーク名 (VNN) の SQL Server サービス アカウントに、Active Directory でサーバー プリンシパル名 (SPN) を手動で登録する必要があります。The domain administrator needs to manually register a Service Principal Name (SPN) with Active Directory on the SQL Server service account for the virtual network name (VNN) of the availability group listener. SQL Server サービス アカウント以外のアカウントに SPN が登録されている場合は、認証が失敗します。If the SPN is registered on an account other than the SQL Server service account, authentication will fail.



** 重要 ** SQL Server サービス アカウントを変更した場合は、ドメイン管理者が SPN を手動で再登録する必要があります。** Important ** If you change the SQL Server service account, the domain administrator will need to manually re-register the SPN.
Kerberos 接続用のサービス プリンシパル名の登録Register a Service Principal Name for Kerberos Connections

簡単な説明:Brief explanation:

Kerberos と SPN は相互認証を行います。Kerberos and SPNs enforce mutual authentication. SPN は、SQL Server サービスを起動する Windows アカウントにマップされます。The SPN maps to the Windows account that starts the SQL Server services. SPN が正常に登録されていないか登録に失敗した場合、Windows セキュリティ レイヤーは、SPN に関連するアカウントを決定することができず、Kerberos 認証は使用できません。If the SPN is not registered correctly or if it fails, the Windows security layer cannot determine the account associated with the SPN, and Kerberos authentication cannot be used.



注: NTLM には、この要件はありません。Note: NTLM does not have this requirement.
チェック ボックスCheckbox SQL ServerSQL Server フェールオーバー クラスター インスタンス (FCI) を使用して可用性レプリカをホストする予定がある場合は、FCI の制限を確実に理解し、FCI の要件が満たされていることを確認してください。If you plan to use a SQL ServerSQL Server failover cluster instance (FCI) to host an availability replica, ensure that you understand the FCI restrictions and that the FCI requirements are met. SQL Server のフェールオーバー クラスター インスタンス (FCI) を使用して可用性レプリカをホストするための前提条件と要件 (このトピックの後半)Prerequisites and Requirements on Using a SQL Server Failover Cluster Instance (FCI) to Host an Availability Replica (later in this topic)
チェック ボックスCheckbox すべてのサーバー インスタンスで Enterprise Edition の SQL Server 2017SQL Server 2017が実行されている必要があります。Each server instance must be running the Enterprise Edition of SQL Server 2017SQL Server 2017. SQL Server 2016 の各エディションとサポートされる機能Editions and Supported Features for SQL Server 2016
チェック ボックスCheckbox 特定の可用性グループの可用性レプリカをホストするすべてのサーバー インスタンス間で SQL ServerSQL Server の照合順序を統一する必要があります。All the server instances that host availability replicas for an availability group must use the same SQL ServerSQL Server collation. サーバーの照合順序の設定または変更Set or Change the Server Collation
チェック ボックスCheckbox 可用性グループの可用性レプリカをホストするすべてのサーバー インスタンスで Always On 可用性グループAlways On availability groups 機能を有効にします。Enable the Always On 可用性グループAlways On availability groups feature on each server instance that will host an availability replica for any availability group. Always On 可用性グループAlways On availability groups のサーバー インスタンスは、 SQL ServerSQL Server 環境がサポートする範囲内であれば、1 台のコンピューターでいくつでも有効にすることができます。On a given computer, you can enable as many server instances for Always On 可用性グループAlways On availability groups as your SQL ServerSQL Server installation supports. AlwaysOn 可用性グループの有効化と無効化 (SQL Server)Enable and Disable Always On Availability Groups (SQL Server)



** 重要 ** WSFC を破棄してから再作成した場合は、 Always On 可用性グループAlways On availability groups を有効にしていた、元のクラスター上の各サーバー インスタンスについて、 Always On 可用性グループAlways On availability groups 機能を無効にしてからもう一度有効にする必要があります。** Important ** If you destroy and re-create a WSFC, you must disable and re-enable the Always On 可用性グループAlways On availability groups feature on each server instance that was enabled for Always On 可用性グループAlways On availability groups on the original cluster.
チェック ボックスCheckbox すべてのサーバー インスタンスには、データベース ミラーリング エンドポイントが必要です。Each server instance requires a database mirroring endpoint. このエンドポイントは、サーバー インスタンス上のミラーリング監視サーバーとデータベース ミラーリング パートナー、および可用性レプリカすべてによって共有されます。Note that this endpoint is shared by all the availability replicas and database mirroring partners and witnesses on the server instance.

可用性レプリカのホストとして選んだサーバー インスタンスがドメイン ユーザー アカウントで実行されていて、まだデータベース ミラーリング エンドポイントが存在しない場合、 新しい可用性グループ ウィザード (または 可用性グループへのレプリカの追加ウィザード) でエンドポイントを作成し、サーバー インスタンス サービス アカウントに CONNECT 権限を許可することができます。If a server instance that you select to host an availability replica is running under a domain user account and does not yet have a database mirroring endpoint, the New Availability Group Wizard (or Add Replica to Availability Group Wizard) can create the endpoint and grant CONNECT permission to the server instance service account. ただし、 SQL ServerSQL Server サービスがビルトイン アカウント (Local System、Local Service、Network Service など) で実行されている場合または非ドメイン アカウントで実行されている場合は、エンドポイント認証に証明書を使用する必要があります。ウィザードは、サーバー インスタンス上でデータベース ミラーリング エンドポイントを作成できなくなります。However, if the SQL ServerSQL Server service is running as a built-in account, such as Local System, Local Service, or Network Service, or a nondomain account, you must use certificates for endpoint authentication, and the wizard will be unable to create a database mirroring endpoint on the server instance. この場合は、データベース ミラーリング エンドポイントを手動で作成してからウィザードを起動することをお勧めします。In this case, we recommend that you create the database mirroring endpoints manually before you launch the wizard.



** セキュリティに関する注意 ** Always On 可用性グループAlways On availability groups のトランスポート セキュリティは、データベース ミラーリングと同じです。** Security Note ** Transport security for Always On 可用性グループAlways On availability groups is the same as for database mirroring.
データベース ミラーリング エンドポイント (SQL Server)The Database Mirroring Endpoint (SQL Server)

データベース ミラーリングと Always On 可用性グループのトランスポート セキュリティ (SQL Server)Transport Security for Database Mirroring and Always On Availability Groups (SQL Server)
チェック ボックスCheckbox FILESTREAM を使用するデータベースを可用性グループに追加する場合は、その可用性グループの可用性レプリカをホストするすべてのサーバー インスタンスで FILESTREAM が有効になっていることを確認してください。If any databases that use FILESTREAM will be added to an availability group, ensure that FILESTREAM is enabled on every server instance that will host an availability replica for the availability group. FILESTREAM の有効化と構成Enable and Configure FILESTREAM
チェック ボックスCheckbox 包含データベースを可用性グループに追加する場合は、その可用性グループの可用性レプリカをホストするすべてのサーバー インスタンスで contained database authentication サーバー オプションが 1 に設定されていることを確認してください。If any contained databases will be added to an availability group, ensure that the contained database authentication server option is set to 1 on every server instance that will host an availability replica for the availability group. contained database authentication サーバー構成オプションcontained database authentication Server Configuration Option

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

可用性グループによるスレッドの使用Thread Usage by Availability Groups

Always On 可用性グループAlways On availability groups には、ワーカー スレッドに関する次の要件があります。 has the following requirements for worker threads:

  • SQL ServerSQL Serverのアイドル状態のインスタンスでは、 Always On 可用性グループAlways On availability groups はスレッドを使用しません。On an idle instance of SQL ServerSQL Server, Always On 可用性グループAlways On availability groups uses 0 threads.

  • 可用性グループが使用するスレッドの最大数は、サーバー スレッドの最大数 ('max worker threads') から 40 を引いた数にあらかじめ設定されています。The maximum number of threads used by availability groups is the configured setting for the maximum number of server threads ('max worker threads') minus 40.

  • 特定のサーバー インスタンスでホストされる可用性レプリカは 1 つのスレッド プールを共有します。The availability replicas hosted on a given server instance share a single thread pool.

    スレッドは、次のように要求に基づいて共有されます。Threads are shared on an on-demand basis, as follows:

    • 通常は 3 ~ 10 個の共有スレッドがありますが、プライマリ レプリカのワークロードに応じてこの数が増える場合があります。Typically, there are 3–10 shared threads, but this number can increase depending on the primary replica workload.

    • 特定のスレッドが一定期間アイドル状態になると、そのスレッドは解放され、 SQL ServerSQL Server の汎用スレッド プールに戻されます。If a given thread is idle for a while, it is released back into the general SQL ServerSQL Server thread pool. 通常、非アクティブ スレッドは、非アクティブな状態のまま最大 15 秒経過すると解放されます。Normally, an inactive thread is released after ~15 seconds of inactivity. ただし、最後の利用状況によっては、アイドル状態のスレッドが保持される時間が延長される場合があります。However, depending on the last activity, an idle thread might be retained longer.

    • SQL Server インスタンスは、セカンダリ レプリカの並列再実行に最大で 100 個のスレッドを使用します。A SQL Server instance uses up to 100 threads for parallel redo for secondary replicas. 各データベースは、最大で、CPU コアの合計数の半分を使用しますが、データベースあたりのスレッド数は 16 個以下となります。Each database uses up to one-half of the total number of CPU cores, but not more than 16 threads per database. 単一のインスタンスで必要なスレッド数の合計が 100 を超えている場合、SQL Server は、残りの各データベースには単一の再実行スレッドを使用します。If the total number of required threads for a single instance exceeds 100, SQL Server uses a single redo thread for every remaining database. シリアル再実行スレッドは、非アクティブな状態のまま最大 15 秒経過すると解放されます。Serial Redo threads are released after ~15 seconds of inactivity.

    注意

    単一のスレッドを使用するデータベースは、各データベース ID の昇順に基づいて選択されます。Databases are chosen to go single-threaded based on their ascending database ID. そのため、使用可能なワーカー スレッドよりも多くの可用性グループ データベースをホストする SQL Server インスタンスの場合は、データベースの作成順序を検討する必要があります。As such, the database creation order should be considered for SQL Server instances that host more availability group databases than available worker threads. たとえば、32 個以上の CPU コアを持つシステムでは、可用性グループに参加している 7 番目以降のデータベースはすべて、各データベースの実際の再実行ワークロードに関係なく、シリアル再実行モードになります。For example, on a system with 32 or more CPU cores, all databases starting with the 7th database that joined the availability group will be in serial redo mode irrespective of the actual redo workload for each database. 並列再実行を必要とするデータベースは、最初に可用性グループに追加する必要があります。Databases that require parallel redo should be added to the availability group first.

  • さらに、可用性グループでは非共有スレッドを次のように使用します。In addition, availability groups use unshared threads, as follows:

    • 各プライマリ レプリカでは、プライマリ データベースごとにログ キャプチャ スレッドを 1 つ使用します。Each primary replica uses 1 Log Capture thread for each primary database. また、セカンダリ データベースごとにログ送信スレッドを 1 つ使用します。In addition, it uses 1 Log Send thread for each secondary database. ログ送信スレッドは、非アクティブな状態のまま最大 15 秒経過すると解放されます。Log send threads are released after ~15 seconds of inactivity.

    • セカンダリ レプリカでのバックアップでは、バックアップ操作の間、プライマリ レプリカにスレッドが保持されます。A backup on a secondary replica holds a thread on the primary replica for the duration of the backup operation.

    詳細については、「 Always On - HADRON 学習シリーズ: HADRON 対応データベースのワーカー プールの使用 」(CSS SQL ServerSQL Server エンジニアのブログ) をご覧ください。For more information, see Always On - HADRON Learning Series: Worker Pool Usage for HADRON Enabled Databases (a CSS SQL ServerSQL Server Engineers Blog).

権限 (サーバー インスタンス)Permissions (Server Instance)

タスクTask 必要な権限Required Permissions
データベース ミラーリング エンドポイントを作成するCreating the database mirroring endpoint CREATE ENDPOINT 権限、または sysadmin 固定サーバー ロールのメンバーシップが必要です。Requires CREATE ENDPOINT permission, or membership in the sysadmin fixed server role. また、CONTROL ON ENDPOINT 権限も必要です。Also requires CONTROL ON ENDPOINT permission. 詳細については、「 GRANT (エンドポイントの権限の許可) (Transact-SQL)」を参照してください。For more information, see GRANT Endpoint Permissions (Transact-SQL).
有効にする Always On 可用性グループAlways On availability groupsEnabling Always On 可用性グループAlways On availability groups ローカル コンピューターの Administrator グループのメンバーシップおよび WSFC に対するフル コントロール権限が必要です。Requires membership in the Administrator group on the local computer and full control on the WSFC.

関連タスク (サーバー インスタンス)Related Tasks (Server Instance)

タスクTask トピックTopic
データベース ミラーリング エンドポイントが存在するかどうかを確認するDetermining whether database mirroring endpoint exists sys.database_mirroring_endpoints (Transact-SQL)sys.database_mirroring_endpoints (Transact-SQL)
データベース ミラーリング エンドポイントを作成する (まだ存在しない場合)Creating the database mirroring endpoint (if it does not yet exist) Windows 認証でのデータベース ミラーリング エンドポイントの作成 (Transact-SQL)Create a Database Mirroring Endpoint for Windows Authentication (Transact-SQL)

データベース ミラーリング エンドポイントでの証明書の使用 (Transact-SQL)Use Certificates for a Database Mirroring Endpoint (Transact-SQL)

AlwaysOn 可用性グループのデータベース ミラーリング エンドポイントの作成 (SQL Server PowerShell)Create a Database Mirroring Endpoint for Always On Availability Groups (SQL Server PowerShell)
可用性グループを有効にするEnabling Availability Groups Always On 可用性グループの有効化と無効化 (SQL Server)Enable and Disable Always On Availability Groups (SQL Server)

関連コンテンツ (サーバー インスタンス)Related Content (Server Instance)

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

WSFC ノード間の通信と、可用性レプリカ間の通信には、同じネットワーク リンクを使用することを強くお勧めします。We strongly recommend that you use the same network links for communications between WSFC nodes and communications between availability replicas. 別々のネットワーク リンクを使用すると、一部のリンクにエラーが発生した場合に (断続的なエラーであっても)、予期しない動作が発生する可能性があります。Using separate network links can cause unexpected behaviors if some of links fail (even intermittently).

たとえば、自動フェールオーバーをサポートする可用性グループでは、自動フェールオーバー パートナーであるセカンダリ レプリカの状態が SYNCHRONIZED である必要があります。For example, for an availability group to support automatic failover, the secondary replica that is the automatic-failover partner must be in the SYNCHRONIZED state. このセカンダリ レプリカへのネットワーク リンクにエラーが発生した場合 (断続的なエラーであっても)、レプリカが UNSYNCHRONIZED 状態になり、リンクが復元されるまで再同期を開始できません。If the network link to this secondary replica fails (even intermittently), the replica enters the UNSYNCHRONIZED state and cannot begin to resynchronize until the link is restored. セカンダリ レプリカが非同期状態にある間に WSFC が自動フェールオーバーを要求しても、自動フェールオーバーは行われません。If the WSFC requests an automatic failover while the secondary replica is unsynchronized, automatic failover will not occur.

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

クライアント接続に関する Always On 可用性グループAlways On availability groups のサポートについては、「 Always On クライアント接続 (SQL Server)For information about Always On 可用性グループAlways On availability groups support for client connectivity, see Always On Client Connectivity (SQL Server).

SQL Server のフェールオーバー クラスター インスタンス (FCI) を使用して可用性レプリカをホストするための前提条件と制限Prerequisites and Restrictions for Using a SQL Server Failover Cluster Instance (FCI) to Host an Availability Replica

このセクションの内容In This Section:

制限 (FCI)Restrictions (FCIs)

注意

フェールオーバー クラスター インスタンスは、クラスター化共有ボリューム (CSV) をサポートしています。Failover Cluster Instances supports Clustered Shared Volumes (CSV). CSV の詳細については、「 フェールオーバー クラスターのクラスターの共有ボリュームについて」を参照してください。For more information on CSV, see Understanding Cluster Shared Volumes in a Failover Cluster.

  • FCI のクラスター ノードでホストできるレプリカは、特定の可用性グループに対して 1 つだけである: FCI に可用性レプリカを追加する場合、FCI の有効な所有者である WSFC ノードで、同じ可用性グループに対して別のレプリカをホストすることはできません。The cluster nodes of an FCI can host only one replica for a given availability group: If you add an availability replica on an FCI, the WSFC nodes that are possible FCI owners cannot host another replica for the same availability group.

    さらに、その他の各レプリカは、同じ Windows Server フェールオーバー クラスター内の別のクラスター ノードに存在する SQL Server 2016 のインスタンスによってホストされている必要があります。Furthermore, every other replica must be hosted by an instance of SQL Server 2016 that resides on a different cluster node in the same Windows Server failoer cluster. 唯一の例外は、別のクラスターに移行するときに、可用性グループは一時的に 2 つのクラスターにまたがることができるという点です。The only exception is that while being migrated to another cluster, an availability group can temporarily straddle two clusters.

  • 可用性グループによる自動フェールオーバーは FCI ではサポートされない: FCI は可用性グループによる自動フェールオーバーをサポートしないため、FCI によってホストされる可用性レプリカは手動フェールオーバー用にのみ構成できます。FCIs do not support automatic failover by availability groups: FCIs do not support automatic failover by availability groups, so any availability replica that is hosted by an FCI can be configured for manual failover only.

  • FCI ネットワーク名の変更: 可用性レプリカがホストされている FCI のネットワーク名を変更する必要がある場合、レプリカをその可用性グループから削除してから再度、可用性グループに追加する必要があります。Changing FCI network name: If you need to change the network name of an FCI that hosts an availability replica, you will need to remove the replica from its availability group and then add the replica back into the availability group. プライマリ レプリカを削除することはできません。そのため、プライマリ レプリカがホストされている FCI の名前を変更するには、セカンダリ レプリカにフェールオーバーしてから、以前のプライマリ レプリカを削除し、再度追加する必要があります。You cannot remove the primary replica, so if you are renaming an FCI that is hosting the primary replica, you should fail over to a secondary replica and then remove the former primary replica and add it back. FCI の名前を変更すると、そのデータベース ミラーリング エンドポイントの URL が変わる可能性があります。Note that renaming an FCI might alter the URL of its database mirroring endpoint. レプリカを追加する際は、必ず最新のエンドポイントの URL を指定してください。When you add the replica ensure that you specify the current endpoint URL.

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

前提条件Prerequisite リンクLink
チェック ボックスCheckbox 標準の SQL Server フェールオーバー クラスター インスタンスのインストールと同様、各 SQL Server フェールオーバー クラスター インスタンス (FCI) が必要な共有ストレージを所有していることを確認してください。Ensure that each SQL Server failover cluster instance (FCI) possesses the required shared storage as per standard SQL Server failover cluster instance installation.

関連タスク (FCI)Related Tasks (FCIs)

タスクTask トピックTopic
SQL Server フェールオーバー クラスターのインストールInstalling a SQL Server Failover Cluster 新しい SQL Server フェールオーバー クラスターの作成 (セットアップ)Create a New SQL Server Failover Cluster (Setup)
既存の SQL Server フェールオーバー クラスターのインプレース アップグレードIn-place upgrade of your existing SQL Server Failover Cluster SQL Server フェールオーバー クラスター インスタンスのアップグレード (セットアップ)Upgrade a SQL Server Failover Cluster Instance (Setup)
既存の SQL Server フェールオーバー クラスターのメンテナンスMaintaining your existing SQL Server Failover Cluster SQL Server フェールオーバー クラスターでのノードの追加または削除 (セットアップ)Add or Remove Nodes in a SQL Server Failover Cluster (Setup)

関連コンテンツ (FCI)Related Content (FCIs)

可用性グループの前提条件と制限Availability Group Prerequisites and Restrictions

このセクションの内容In This Section:

制限 (可用性グループ)Restrictions (Availability Groups)

  • 可用性レプリカは、1 つの WSFC の別々のノードによってホストされている必要がある: 各可用性グループで、個々の可用性レプリカは、同じ WSFC の別々のノード上で動作するサーバー インスタンスによってホストされる必要があります。Availability replicas must be hosted by different nodes of one WSFC: For a given availability group, availability replicas must be hosted by server instances running on different nodes of the same WSFC. 唯一の例外は、別のクラスターに移行するときに、可用性グループは一時的に 2 つのクラスターにまたがることができるという点です。The only exception is that while being migrated to another cluster, an availability group can temporarily straddle two clusters.

    注意

    同じ物理コンピューター上の各仮想コンピューターは独立したコンピューターとして動作するため、同じ可用性グループの可用性レプリカをそれぞれの仮想コンピューターがホストできます。Virtual machines on the same physical computer can each host an availability replica for the same availability group because each virtual machine acts as a separate computer.

  • 一意の可用性グループ名: 各可用性グループの名前は、WSFC 上で一意である必要があります。Unique availability group name: Each availability group name must be unique on the WSFC. 可用性グループ名の最大文字数は 128 文字です。The maximum length for an availability group name is 128 characters.

  • 可用性レプリカ: 各可用性グループは、1 つのプライマリ レプリカと最大 8 つのセカンダリ レプリカをサポートします。Availability replicas: Each availability group supports one primary replica and up to eight secondary replicas. すべてのレプリカを非同期コミット モードで実行することも、最大 3 つのレプリカを同期コミット モードで実行することもできます (1 つのプライマリ レプリカと 2 つの同期セカンダリ レプリカ)。All of the replicas can run under asynchronous-commit mode, or up to three of them can run under synchronous-commit mode (one primary replica with two synchronous secondary replicas).

  • コンピューターあたりの可用性グループおよび可用性データベースの最大数: コンピューター (VM または物理コンピューター) に実際に配置できるデータベースおよび可用性グループの数はハードウェアとワークロードによって異なりますが、強制的な制限はありません。Maximum number of availability groups and availability databases per computer: The actual number of databases and availability groups you can put on a computer (VM or physical) depends on the hardware and workload, but there is no enforced limit. マイクロソフトでは、物理コンピューターあたり 10 の AG と 100 の DB を使用して広範なテストを行いました。Microsoft has extensively tested with 10 AGs and 100 DBs per physical machine. 過剰な負荷がかかっているシステムには、ワーカー スレッドの枯渇、可用性グループ システム ビューおよび DMV の応答の遅延、ディスパッチャー システム ダンプの一時停止などの症状があります (ただし、これだけではありません)。Signs of overloaded systems can include, but are not limited to, worker thread exhaustion, slow response times for availability group system views and DMVs, and/or stalled dispatcher system dumps. アプリケーション SLA 内でピーク ワークロード容量を処理できることを確認するために、実稼働環境と同様のワークロードを使用して環境を十分にテストしてください。Please make sure to thoroughly test your environment with a production-like workload to ensure it can handle peak workload capacity within your application SLAs. SLA を検討する際は、障害条件下の負荷や期待される応答時間を考慮してください。When considering SLAs be sure to consider load under failure conditions as well as expected response times.

  • フェールオーバー クラスター マネージャーを使用して可用性グループを操作しないでください。Do not use the Failover Cluster Manager to manipulate availability groups:

    例 :For example:

    • 可用性グループのプロパティ (たとえば、有効な所有者) を変更しないでください。Do not change any availability group properties, such as the possible owners.

    • フェールオーバー クラスター マネージャーを使用して可用性グループをフェールオーバーしないでください。Do not use the Failover Cluster Manager to fail over availability groups. Transact-SQLTransact-SQL または [SQL Server Management Studio]SQL Server Management Studioを使用する必要があります。You must use Transact-SQLTransact-SQL or [SQL Server Management Studio]SQL Server Management Studio.

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

可用性グループの構成を作成したり再構成したりする場合は、次の要件を満たす必要があります。When creating or reconfiguring an availability group configuration, ensure that you adhere to the following requirements.

前提条件Prerequisite [説明]Description
チェック ボックスCheckbox SQL ServerSQL Server フェールオーバー クラスター インスタンス (FCI) を使用して可用性レプリカをホストする予定がある場合は、FCI の制限を確実に理解し、FCI の要件が満たされていることを確認してください。If you plan to use a SQL ServerSQL Server failover cluster instance (FCI) to host an availability replica, ensure that you understand the FCI restrictions and that the FCI requirements are met. SQL Server のフェールオーバー クラスター インスタンス (FCI) を使用して可用性レプリカをホストするための前提条件と制限 (このトピックの前半)Prerequisites and Restrictions for Using a SQL Server Failover Cluster Instance (FCI) to Host an Availability Replica (earlier in this topic)

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

  • セキュリティは WSFC から継承されます。Security is inherited from the WSFC. Windows Server フェールオーバー クラスタリングには、クラスター全体の粒度で 2 レベルのユーザー セキュリティがあります。Windows Server failover clustering provides two levels of user security at the granularity of entire cluster:

    • 読み取り専用アクセスRead-only access

    • フル コントロールFull control

      Always On 可用性グループAlways On availability groups はフル コントロールを必要とします。また、 Always On 可用性グループAlways On availability groups を有効にした SQL ServerSQL Server のインスタンスには、クラスターのフル コントロール権限が (サービス SID を介して) 与えられます。 need full control, and enabling Always On 可用性グループAlways On availability groups on an instance of SQL ServerSQL Server gives it full control of the cluster (through Service SID).

      サーバー インスタンスのセキュリティをクラスター マネージャーで直接追加したり削除したりすることはできません。You cannot directly add or remove security for a server instance in Cluster Manager. クラスター セキュリティ セッションを管理するには、 SQL ServerSQL Server 構成マネージャーまたはそれに相当する SQL ServerSQL Server の WMI を使用します。To manage cluster security sessions, use the SQL ServerSQL Server Configuration Manager or the WMI equivalent from SQL ServerSQL Server.

  • SQL ServerSQL Server の各インスタンスには、レジストリやクラスターにアクセスするための権限が必要です。Each instance of SQL ServerSQL Server must have permissions to access the registry, cluster, and so forth.

  • Always On 可用性グループAlways On availability groups 可用性レプリカをホストするサーバー インスタンス間の接続は暗号化するようにお勧めします。We recommend that you use encryption for connections between server instances that host Always On 可用性グループAlways On availability groups availability replicas.

権限 (可用性グループ)Permissions (Availability Groups)

タスクTask 必要な権限Required Permissions
可用性グループの作成Creating an availability group sysadmin 固定サーバー ロールのメンバーシップと、CREATE AVAILABILITY GROUP サーバー権限、ALTER ANY AVAILABILITY GROUP 権限、CONTROL SERVER 権限のいずれかが必要です。Requires membership in the sysadmin fixed server role and either CREATE AVAILABILITY GROUP server permission, ALTER ANY AVAILABILITY GROUP permission, or CONTROL SERVER permission.
可用性グループの変更Altering an availability group 可用性グループの ALTER AVAILABILITY GROUP 権限、CONTROL AVAILABILITY GROUP 権限、ALTER ANY AVAILABILITY GROUP 権限、または CONTROL SERVER 権限が必要です。Requires ALTER AVAILABILITY GROUP permission on the availability group, CONTROL AVAILABILITY GROUP permission, ALTER ANY AVAILABILITY GROUP permission, or CONTROL SERVER permission.

さらに、データベースを可用性グループに参加させるには、 db_owner 固定データベース ロールのメンバーシップが必要です。In addition, joining a database to an availability group requires membership in the db_owner fixed database role.
可用性グループの削除Dropping/deleting an availability group 可用性グループの ALTER AVAILABILITY GROUP 権限、CONTROL AVAILABILITY GROUP 権限、ALTER ANY AVAILABILITY GROUP 権限、または CONTROL SERVER 権限が必要です。Requires ALTER AVAILABILITY GROUP permission on the availability group, CONTROL AVAILABILITY GROUP permission, ALTER ANY AVAILABILITY GROUP permission, or CONTROL SERVER permission. ローカル レプリカの場所でホストされていない可用性グループを削除するには、その可用性グループ上の CONTROL SERVER 権限または CONTROL 権限が必要です。To drop an availability group that is not hosted on the local replica location you need CONTROL SERVER permission or CONTROL permission on that Availability Group.

関連タスク (可用性グループ)Related Tasks (Availability Groups)

タスクTask トピックTopic
可用性グループの作成Creating an availability group 可用性グループ (新しい可用性グループ ウィザード)Use the Availability Group (New Availability Group Wizard)

可用性グループの作成 (Transact-SQL)Create an Availability Group (Transact-SQL)

可用性グループの作成 (SQL Server PowerShell)Create an Availability Group (SQL Server PowerShell)

可用性レプリカを追加または変更する場合のエンドポイント URL の指定 (SQL Server)Specify the Endpoint URL When Adding or Modifying an Availability Replica (SQL Server)
可用性レプリカの数の変更Modifying the number of availability replicas 可用性グループへのセカンダリ レプリカの追加 (SQL Server)Add a Secondary Replica to an Availability Group (SQL Server)

可用性グループへのセカンダリ レプリカの参加 (SQL Server)Join a Secondary Replica to an Availability Group (SQL Server)

可用性グループからのセカンダリ レプリカの削除 (SQL Server)Remove a Secondary Replica from an Availability Group (SQL Server)
可用性グループ リスナーの作成Creating an availability group listener 可用性グループ リスナーの作成または構成 (SQL Server)Create or Configure an Availability Group Listener (SQL Server)
可用性グループの削除Dropping an availability group 可用性グループの削除 (SQL Server)Remove an Availability Group (SQL Server)

可用性データベースの前提条件と制限Availability Database Prerequisites and Restrictions

可用性グループに追加するデータベースは、次の前提条件と制限を満たしている必要があります。To be eligible to be added to an availability group, a database must meet the following prerequisites and restrictions.

このセクションの内容In This Section:

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

可用性グループに追加するデータベースは、次の条件を満たしている必要があります。To be eligible to be added to an availability group, a database must:

必要条件Requirements リンクLink
チェック ボックスCheckbox ユーザー データベースであること。Be a user database. システム データベースを可用性グループに追加することはできません。System databases cannot belong to an availability group.
チェック ボックスCheckbox 可用性グループの作成先となる SQL ServerSQL Server のインスタンス上に存在し、そのサーバー インスタンスからアクセスできること。Reside on the instance of SQL ServerSQL Server where you create the availability group and be accessible to the server instance.
チェック ボックスCheckbox 読み取り/書き込み可能なデータベースであること。Be a read-write database. 読み取り専用データベースを可用性グループに追加することはできません。Read-only databases cannot be added to an availability group. sys.databases (is_read_only = 0)sys.databases (is_read_only = 0)
チェック ボックスCheckbox マルチユーザー データベースであること。Be a multi-user database. sys.databases (user_access = 0)sys.databases (user_access = 0)
チェック ボックスCheckbox AUTO_CLOSE が使用されていないこと。Not use AUTO_CLOSE. sys.databases (is_auto_close_on = 0)sys.databases (is_auto_close_on = 0)
チェック ボックスCheckbox 完全復旧モデル (完全復旧モードとも呼ばれます) を使用すること。Use the full recovery model (also known as, full recovery mode). sys.databases (recovery_model = 1)sys.databases (recovery_model = 1)
チェック ボックスCheckbox データベースの完全バックアップが少なくとも 1 つ存在すること。Possess at least one full database backup.

注: データベースを完全復旧モードに設定した後、完全復旧ログ チェーンを開始するには完全バックアップが必要です。Note: After setting a database to full recovery mode, a full backup is required to initiate the full-recovery log chain.
データベースの完全バックアップの作成 (SQL Server)Create a Full Database Backup (SQL Server)
チェック ボックスCheckbox 既存の可用性グループに属していないこと。Not belong to any existing availability group. sys.databases (group_database_id = NULL)sys.databases (group_database_id = NULL)
チェック ボックスCheckbox データベース ミラーリング用に構成されていないこと。Not be configured for database mirroring. sys.database_mirroring (データベースがミラー化の対象となっていない場合、"mirroring_" で始まるすべての列は NULL)sys.database_mirroring (If the database does not participate in mirroring, all columns prefixed with "mirroring_" are NULL.)
チェック ボックスCheckbox FILESTREAM を使用するデータベースを可用性グループに追加する前に、その可用性グループの可用性レプリカをホストしている (またはこれからホストする) すべてのサーバー インスタンスで FILESTREAM が有効になっていることを確認してください。Before adding a database that uses FILESTREAM to an availability group, ensure that FILESTREAM is enabled on every server instance that hosts or will host an availability replica for the availability group. FILESTREAM の有効化と構成Enable and Configure FILESTREAM
チェック ボックスCheckbox 包含データベースを可用性グループに追加する前に、その可用性グループの可用性レプリカをホストしている (またはこれからホストする) 各サーバー インスタンスで、 contained database authentication サーバー オプションが 1 に設定されていることを確認してください。Before adding a contained database to an availability group, ensure that the contained database authentication server option is set to 1 on every server instance that hosts or will host an availability replica for the availability group. contained database authentication サーバー構成オプションcontained database authentication Server Configuration Option

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

注意

Always On 可用性グループAlways On availability groups は、サポートされているすべてのデータベース互換性レベルで動作します。 works with any supported database compatibility level.

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

  • セカンダリ データベースのファイル パス (ドライブ文字を含む) が、対応するプライマリ データベースのパスと異なる場合、次の制限が適用されます。If the file path (including the drive letter) of a secondary database differs from the path of the corresponding primary database, the following restrictions apply:

    • 新しい可用性グループ ウィザードNew Availability Group Wizard/ 可用性グループへのデータベース追加ウィザードAdd Database to Availability Group Wizard: [完全] オプションはサポートされません ([最初のデータの同期を選択] ページ)、 新しい可用性グループ ウィザードNew Availability Group Wizard/ 可用性グループへのデータベース追加ウィザードAdd Database to Availability Group Wizard: The Full option is not supported (on theSelect Initial Data Synchronization Page page),

    • RESTORE WITH MOVE: セカンダリ データベースを作成するには、セカンダリ レプリカをホストする SQL ServerSQL Server の各インスタンス上で、WITH MOVE を使用してデータベース ファイルを復元する必要があります。RESTORE WITH MOVE: To create the secondary databases, the database files must be RESTORED WITH MOVE on each instance of SQL ServerSQL Server that hosts a secondary replica.

    • ファイルの追加操作への影響: 後でファイルの追加操作をプライマリ レプリカで実行した場合、セカンダリ データベースでエラーが発生する可能性があります。Impact on add-file operations: A later add-file operation on the primary replica might fail on the secondary databases. この操作の失敗によってセカンダリ データベースが中断する可能性があります。This failure could cause the secondary databases to be suspended. セカンダリ データベースが中断すると、セカンダリ レプリカが "NOT SYNCHRONIZING" 状態になります。This, in turn, causes the secondary replicas to enter the NOT SYNCHRONIZING state.

      注意

      ファイルの追加操作が失敗した場合の対処については、「失敗したファイルの追加操作のトラブルシューティング (Always On 可用性グループ)」を参照してください。For information about responding to a failed ad-file operation, see Troubleshoot a Failed Add-File Operation (Always On Availability Groups).

  • 可用性グループに現在属しているデータベースを削除することはできません。You cannot drop a database that currently belongs to an availability group.

TDE で保護されたデータベースの補足情報Follow Up for TDE Protected Databases

透過的なデータ暗号化 (TDE) を使用する場合、他のキーの作成および暗号化解除を行うための証明書または非対称キーは、可用性グループの可用性レプリカをホストするすべてのサーバー インスタンスで同じである必要があります。If you use transparent data encryption (TDE), the certificate or asymmetric key for creating and decrypting other keys must be the same on every server instance that hosts an availability replica for the availability group. 詳細については、「 別の SQL Server への TDE で保護されたデータベースの移動」を参照してください。For more information, see Move a TDE Protected Database to Another SQL Server.

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

データベースに対する ALTER 権限が必要です。Requires ALTER permission on the database.

関連タスク (可用性データベース)Related Tasks (Availability Databases)

タスクTask トピックTopic
セカンダリ データベースの準備 (手動)Preparing a secondary database (manually) 可用性グループに対するセカンダリ データベースの手動準備 (SQL Server)Manually Prepare a Secondary Database for an Availability Group (SQL Server)
可用性グループへのセカンダリ データベースの参加 (手動)Joining a secondary database to availability group (manually) 可用性グループへのセカンダリ データベースの参加 (SQL Server)Join a Secondary Database to an Availability Group (SQL Server)
可用性データベースの数の変更Modifying the number of availability databases 可用性グループへのデータベースの追加 (SQL Server)Add a Database to an Availability Group (SQL Server)

可用性グループからのセカンダリ データベースの削除 (SQL Server)Remove a Secondary Database from an Availability Group (SQL Server)

可用性グループからのプライマリ データベースの削除 (SQL Server)Remove a Primary Database from an Availability Group (SQL Server)

関連コンテンツRelated Content

参照See Also

AlwaysOn 可用性グループの概要 (SQL Server) Overview of Always On Availability Groups (SQL Server)
フェールオーバー クラスタリングと Always On 可用性グループ (SQL Server) Failover Clustering and Always On Availability Groups (SQL Server)
Always On クライアント接続 (SQL Server)Always On Client Connectivity (SQL Server)