AlwaysOn 可用性グループの Transact-SQL ステートメントTransact-SQL Statements for Always On Availability Groups

適用対象: ○SQL Server XAzure SQL Database XAzure SQL Data Warehouse XParallel Data WarehouseAPPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

このトピックでは、 Transact-SQLTransact-SQL の配置のほか、可用性グループ、可用性レプリカ、および可用性データベースの作成と管理をサポートする Always On 可用性グループAlways On availability groups ステートメントについて説明します。This topic introduces the Transact-SQLTransact-SQL statements that support deploying Always On 可用性グループAlways On availability groups and creating and managing an given availability group, availability replica and availability database.

CREATE ENDPOINTCREATE ENDPOINT

CREATE ENDPOINT ...FOR DATABASE_MIRRORING は、サーバー インスタンス上にデータベース ミラーリング エンドポイントが存在しない場合に、データベース ミラーリング エンドポイントを作成します。CREATE ENDPOINT ... FOR DATABASE_MIRRORING creates a database mirroring endpoint, if none exists on the server instance. Always On 可用性グループAlways On availability groups またはデータベース ミラーリングの配置を検討しているすべてのサーバー インスタンスには、データベース ミラーリング エンドポイントが必要です。Every server instance on which you intend to deploy Always On 可用性グループAlways On availability groups or database mirroring requires a database mirroring endpoint.

このステートメントは、エンドポイントの作成先となるサーバー インスタンス上で実行します。Execute this statement on the server instance on which you are creating the endpoint. 特定のサーバー インスタンスに対して作成できるデータベース ミラーリング エンドポイントは 1 つだけです。You can create only one database mirroring endpoint on a given server instance. 詳細については、「 データベース ミラーリング エンドポイント (SQL Server)のインスタンスに AlwaysOn 可用性グループを作成する方法について説明します。For more information, see The Database Mirroring Endpoint (SQL Server).

CREATE AVAILABILITY GROUPCREATE AVAILABILITY GROUP

CREATE AVAILABILITY GROUP は、新しい可用性グループと、必要に応じて可用性グループのリスナーを作成します。CREATE AVAILABILITY GROUP creates a new availability group and optionally an availability group listener. 少なくとも、初期プライマリ レプリカとなるローカル サーバー インスタンスを指定する必要があります。Minimally, you must specify your local server instance, which will become the initial primary replica. 必要に応じて、セカンダリ レプリカを 4 つまで指定することもできます。Optionally, you can also specify up to four secondary replicas.

新しい可用性グループの初期プライマリ レプリカをホストする SQL ServerSQL Server インスタンスで CREATE AVAILABILITY GROUP を実行します。Execute CREATE AVAILABILITY GROUP on the instance of SQL ServerSQL Server that you want to host the initial primary replica of your new availability group. このサーバー インスタンスは、Windows Server フェールオーバー クラスター (WSFC) のノードに存在している必要があります (詳細については、「AlwaysOn 可用性グループの前提条件、制限事項、および推奨事項 (SQL Server)」を参照してください)。This server instance must reside on a node of a Windows Server Failover Cluster (WSFC) (for more information, see Prerequisites, Restrictions, and Recommendations for Always On Availability Groups (SQL Server).

ALTER AVAILABILITY GROUPALTER AVAILABILITY GROUP

ALTER AVAILABILITY GROUP は、既存の可用性グループまたは可用性グループ リスナーの変更と、可用性グループのフェールオーバーをサポートします。ALTER AVAILABILITY GROUP supports changing an existing availability group or availability group listener and for failing over an availability group.

現在のプライマリ レプリカをホストする SQL ServerSQL Server インスタンスで ALTER AVAILABILITY GROUP を実行します。Execute ALTER AVAILABILITY GROUP on the instance of SQL ServerSQL Server that hosts the current primary replica.

ALTER DATABASE ...SET HADR ...ALTER DATABASE ... SET HADR ...

ALTER DATABASE ステートメントの SET HADR 句のオプションを使用すると、セカンダリ データベースを対応するプライマリ データベースの可用性グループに参加させたり、参加データベースを削除したりできます。さらに、参加データベースでのデータ同期化の削除やデータ同期化の再開も行うことができます。The options of the SET HADR clause of the ALTER DATABASE statement enables you to join a secondary database to the availability group of the corresponding primary database, remove a joined database, and suspend data synchronization on a joined database, and resume data synchronization.

DROP AVAILABILITY GROUPDROP AVAILABILITY GROUP

DROP AVAILABILITY GROUP は、指定された可用性グループとそのすべてのレプリカを削除します。DROP AVAILABILITY GROUP removes a specified availability group and all of its replicas. DROP AVAILABILITY GROUP は、WSFC フェールオーバー クラスター内の任意の Always On 可用性グループAlways On availability groups ノードから実行できます。DROP AVAILABILITY GROUP can be run from any Always On 可用性グループAlways On availability groups node in the WSFC failover cluster.

AVAILABILITY GROUP Transact-SQL ステートメントの制限事項Restrictions on the AVAILABILITY GROUP Transact-SQL Statements

CREATE AVAILABILITY GROUP、ALTER AVAILABILITY GROUP、および DROP AVAILABILITY GROUP の各 Transact-SQLTransact-SQL ステートメントには、次の制限があります。The CREATE AVAILABILITY GROUP, ALTER AVAILABILITY GROUP, and DROP AVAILABILITY GROUP Transact-SQLTransact-SQL statements have the following limitations:

  • DROP AVAILABILITY GROUP を除き、これらのステートメントを実行するには、SQL ServerSQL Server のインスタンス上で HADR サービスが有効になっている必要があります。With the exception of DROP AVAILABILITY GROUP, executing these statements requires that the HADR service is enabled on the instance of SQL ServerSQL Server. 詳細については、「Always On 可用性グループの有効化と無効化 (SQL Server)」を参照してください。For more information, see Enable and Disable Always On Availability Groups (SQL Server).

  • これらのステートメントは、トランザクションまたはバッチ内で実行することはできません。These statements cannot be executed within transactions or batches.

  • 障害発生後のクリーンアップについてはベスト エフォートとなります。これらのステートメントでは、障害発生時にすべての変更が確実にロールバックされるという保証はありません。Though they make a best effort to clean up after a failure, these statements do not guarantee that they will roll back all changes on failure. ただし、システム的には、クリーンに処理し、部分的な障害については無視するようになっています。However, systems should be able cleanly handle and then ignore partial failures.

  • これらのステートメントは、式または変数をサポートしていません。These statements do not support expressions or variables.

  • Transact-SQLTransact-SQL ステートメントを実行したときに、別の可用性グループ アクションまたは復旧が進行中であった場合は、エラーが返されます。If a Transact-SQLTransact-SQL statement is executed while another availability group action or recovery is in process, the statement returns an error. 必要に応じて、アクションまたは復旧の完了を待ってステートメントを再試行してください。Wait for the action or recovery to complete, and retry the statement, if necessary.

参照See Also

AlwaysOn 可用性グループの概要 (SQL Server)Overview of Always On Availability Groups (SQL Server)