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