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 ステートメントを実行したときに、別の可用性グループ アクションまたは復旧が進行中であった場合は、エラーが返されます。 必要に応じて、アクションまたは復旧の完了を待ってステートメントを再試行してください。

参照

Always On 可用性グループの概要 (SQL Server)