Always On 可用性グループの Transact-SQL ステートメント
適用対象: SQL Server
このトピックでは、Always On 可用性グループの配置のほか、可用性グループ、可用性レプリカ、および可用性データベースの作成と管理をサポートする Transact-SQL ステートメントについて説明します。
CREATE ENDPOINT
CREATE ENDPOINT ... FOR DATABASE_MIRRORING では、データベース ミラーリング エンドポイントが、サーバー インスタンス上に存在しなければ作成されます。 Always On 可用性グループ またはデータベース ミラーリングの配置を検討しているすべてのサーバー インスタンスには、データベース ミラーリング エンドポイントが必要です。
このステートメントは、エンドポイントの作成先となるサーバー インスタンス上で実行します。 特定のサーバー インスタンスに対して作成できるデータベース ミラーリング エンドポイントは 1 つだけです。 詳細については、「データベース ミラーリング エンドポイント (SQL Server)」を参照してください。
CREATE AVAILABILITY GROUP
CREATE AVAILABILITY GROUP は、新しい可用性グループと、必要に応じて可用性グループのリスナーを作成します。 少なくとも、初期プライマリ レプリカとなるローカル サーバー インスタンスを指定する必要があります。 必要に応じて、セカンダリ レプリカを 4 つまで指定することもできます。
新しい可用性グループの初期プライマリ レプリカをホストする SQL Server インスタンスで CREATE AVAILABILITY GROUP を実行します。 このサーバー インスタンスは、Windows Server フェールオーバー クラスター (WSFC) のノードに存在している必要があります (詳細については、「Always On 可用性グループの前提条件、制限事項、推奨事項 (SQL Server)」を参照してください)。
ALTER AVAILABILITY GROUP
ALTER AVAILABILITY GROUP は、既存の可用性グループまたは可用性グループ リスナーの変更と、可用性グループのフェールオーバーをサポートします。
現在のプライマリ レプリカをホストする SQL Server インスタンスで ALTER AVAILABILITY GROUP を実行します。
ALTER DATABASE ... SET HADR ...
ALTER DATABASE ステートメントの SET HADR 句のオプションを使用すると、セカンダリ データベースを対応するプライマリ データベースの可用性グループに参加させたり、参加データベースを削除したりできます。さらに、参加データベースでのデータ同期化の削除やデータ同期化の再開も行うことができます。
DROP AVAILABILITY GROUP
DROP AVAILABILITY GROUP は、指定された可用性グループとそのすべてのレプリカを削除します。 DROP AVAILABILITY GROUP は、WSFC フェールオーバー クラスター内の任意の Always On 可用性グループ ノードから実行できます。
AVAILABILITY GROUP Transact-SQL ステートメントの制限事項
CREATE AVAILABILITY GROUP、ALTER AVAILABILITY GROUP、および DROP AVAILABILITY GROUP の各 Transact-SQL ステートメントには、次の制限があります。
DROP AVAILABILITY GROUP を除き、これらのステートメントを実行するには、SQL Server のインスタンス上で HADR サービスが有効になっている必要があります。 詳細については、「Always On 可用性グループの有効化と無効化 (SQL Server)」を参照してください。
これらのステートメントは、トランザクションまたはバッチ内で実行することはできません。
障害発生後のクリーンアップについてはベスト エフォートとなります。これらのステートメントでは、障害発生時にすべての変更が確実にロールバックされるという保証はありません。 ただし、システム的には、クリーンに処理し、部分的な障害については無視するようになっています。
これらのステートメントは、式または変数をサポートしていません。
Transact-SQL ステートメントを実行したときに、別の可用性グループ アクションまたは復旧が進行中であった場合は、エラーが返されます。 必要に応じて、アクションまたは復旧の完了を待ってステートメントを再試行してください。