単一データベース用の基本的な Always On 可用性グループ
適用対象: SQL Server
基本的な Always On 可用性グループの場合、Standard Edition 上のバージョン 2016 以降の SQL Server に高可用性ソリューションが提供されます。 基本的な可用性グループでは、単一のデータベースのフェールオーバー環境がサポートされます。 Enterprise Edition での従来の(拡張) Always On 可用性グループの場合と同じように作成され、管理されます。 このドキュメントでは、基本的な可用性グループの違いと制限の概要を示します。
機能
Always On の基本可用性グループは、非推奨となったデータベース ミラーリング機能を置き換え、同等の機能サポートを提供します。 基本的な可用性グループを使用することで、プライマリ データベースは単一のレプリカを管理できます。 このレプリカでは同期コミット モードまたは非同期コミット モードを使用できます。 可用性 MODE の詳細については、「可用性MODE」を参照してください。 セカンダリ レプリカは、フェールオーバーが必要にならない限り、非アクティブのままです。 このフェールオーバーでプライマリとセカンダリのロール割り当てが逆になり、セカンダリ レプリカがプライマリ アクティブ データベースになります。 フェールオーバーの詳細情報については、「フェールオーバーとフェールオーバー MODE」を参照してください。 基本的な可用性グループは、オンプレミスの環境と Microsoft Azure にまたがるハイブリッド環境で使用できます。
制限事項
基本的な可用性グループでは、SQL Server 2016 Enterprise Edition の拡張可用性グループとは異なり、機能の一部のみを使用します。 基本的な可用性グループには以下の制限があります。
使用できるレプリカは 2 つ (プライマリとセカンダリ) までです。 SQL Server 2017 on Linux の基本的な可用性グループでは、追加の構成専用レプリカがサポートされます。
セカンダリ レプリカに対する読み取りアクセス権はありません。
セカンダリ レプリカではバックアップできません。
セカンダリ レプリカに対する整合性チェックはありません。
SQL Server 2016 Community Technology Preview 3 (CTP3) より前のバージョンの SQL Server を実行するサーバーでホストされるレプリカはサポートされません。
可用性データベースは 1 つしかサポートされません。
基本的な可用性グループを拡張可用性グループにアップグレードすることはできません。 グループを削除し、SQL Server 2016 Enterprise Edition のみを実行するサーバーを含むグループに再度追加する必要があります。
基本的な可用性グループがサポートされるのは Standard Edition サーバーの場合のみです。
基本的な可用性グループを分散型可用性グループの一部にすることはできません。
単一の SQL Server インスタンスに複数の基本可用性グループが接続されている場合があります。
構成
基本的な AlwaysOn 可用性グループは、2 つの SQL Server 2016 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
注意
基本的な可用性グループの制限は、 WITH BASIC を指定した CREATE AVAILABILITY GROUP に適用されます。 たとえば、読み取りアクセスを許可する基本的な可用性グループを作成しようとすると、エラーが発生します。 他の制限も同様に適用されます。 詳細については、このトピックの「制限事項」を参照してください。