適用対象:SQL Server
Always On の基本的な可用性グループは、Standard Edition の SQL Server 2016 (13.x) 以降のバージョンの高可用性ソリューションを提供します。 基本的な可用性グループでは、単一のデータベースのフェールオーバー環境がサポートされます。 Enterprise Edition を使用して、従来の (高度な) 可用性グループ とよく似た方法で作成および管理されます。 このドキュメントでは、基本的な可用性グループの違いと制限の概要を示します。
機能
基本的な可用性グループは、非推奨のデータベース ミラーリング機能を置き換え、同様のレベルの機能サポートを提供します。 基本的な可用性グループを使用することで、プライマリ データベースは単一のレプリカを管理できます。 このレプリカでは同期コミット モードまたは非同期コミット モードを使用できます。 可用性モードの詳細については、「 Always On 可用性グループの可用性モードの違い」を参照してください。 フェールオーバーする必要がない限り、セカンダリ レプリカは非アクティブのままです。 このフェールオーバーでプライマリとセカンダリのロール割り当てが逆になり、セカンダリ レプリカがプライマリ アクティブ データベースになります。 フェールオーバーの詳細情報については、「フェールオーバーとフェールオーバー MODE」を参照してください。 基本的な可用性グループは、オンプレミスの環境と Microsoft Azure にまたがるハイブリッド環境で使用できます。
制限事項
基本的な可用性グループでは、SQL Server 2016 (13.x) Enterprise エディションの高度な可用性グループと比較して、機能のサブセットが使用されます。 基本的な可用性グループには以下の制限があります。
使用できるレプリカは 2 つ (プライマリとセカンダリ) までです。 Linux 上の SQL Server 2017 (14.x) の基本的な可用性グループでは、追加の構成のみのレプリカがサポートされます。
セカンダリ レプリカに対する読み取りアクセス権はありません。
セカンダリ レプリカではバックアップできません。
セカンダリ レプリカに対する整合性チェックはありません。
SQL Server 2016 (13.x) より前のバージョンの SQL Server を実行しているサーバーでホストされているレプリカはサポートされていません。
可用性データベースは 1 つしかサポートされません。
基本可用性グループを高度な可用性グループにアップグレードすることはできません。 グループを削除し、SQL Server 2016 (13.x) Enterprise エディションのみを実行しているサーバーを含むグループに読み取る必要があります。
Basic 可用性グループは、Standard Edition サーバーでのみサポートされます。
基本的な可用性グループを分散型可用性グループに含めることはできません。
単一の SQL Server インスタンスに複数の基本可用性グループが接続されている場合があります。
構成
Always On 基本可用性グループは、任意の 2 つの SQL Server 2016 (13.x) Standard Edition サーバーに作成できます。 基本的な可用性グループを作成する場合、作成時に両方のレプリカを指定する必要があります。
基本的な可用性グループを作成するには、 CREATE AVAILABILITY GROUP Transact-SQL コマンドを使用し、 WITH BASIC オプションを指定します (既定値は ADVANCED)。 基本的な可用性グループは、バージョン 17.8 以降の SQL Server Management Studio の UI を使用して作成することもできます。 詳細については、「CREATE AVAILABILITY GROUP」を参照してください。
次の例では、Transact-SQL (T-SQL) を使用して可用性グループを作成する方法を確認できます。
CREATE AVAILABILITY GROUP [BasicAG]
WITH (AUTOMATED_BACKUP_PREFERENCE = PRIMARY,
BASIC,
DB_FAILOVER = OFF,
DTC_SUPPORT = NONE,
REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT = 0)
FOR DATABASE [AdventureWorks]
REPLICA ON N'SQLVM1\MSSQLSERVER' WITH (ENDPOINT_URL = N'TCP://SQLVM1.Contoso.com:5022', FAILOVER_MODE = AUTOMATIC, AVAILABILITY_MODE = SYNCHRONOUS_COMMIT, SEEDING_MODE = AUTOMATIC, SECONDARY_ROLE(ALLOW_CONNECTIONS = NO)),
N'SQLVM2\MSSQLSERVER' WITH (ENDPOINT_URL = N'TCP://SQLVM2.Contoso.com:5022', FAILOVER_MODE = AUTOMATIC, AVAILABILITY_MODE = SYNCHRONOUS_COMMIT, SEEDING_MODE = AUTOMATIC, SECONDARY_ROLE(ALLOW_CONNECTIONS = NO));
GO
注意
基本的な可用性グループの制限は、CREATE AVAILABILITY GROUPが指定されている場合、WITH BASIC コマンドに適用されます。 たとえば、読み取りアクセスを許可する基本的な可用性グループを作成しようとすると、エラーが発生します。 他の制限も同様に適用されます。 詳細については、この記事の「制限事項」セクションを参照してください。