本主题介绍支持部署 AlwaysOn 可用性组以及创建和管理给定可用性组、可用性副本和可用性数据库的 Transact-SQL 语句。
创建终结点
CREATE ENDPOINT...FOR DATABASE_MIRRORING 创建数据库镜像终结点(如果服务器实例上不存在)。 要部署 AlwaysOn 可用性组或数据库镜像的每个服务器实例都需要数据库镜像终结点。
在创建终结点的服务器实例上执行此语句。 只能在给定的服务器实例上创建一个数据库镜像终结点。 有关详细信息,请参阅数据库镜像终结点 (SQL Server)。
创建可用性组
CREATE AVAILABILITY GROUP 创建一个新的可用性组和一个可用性组侦听器(可选)。 至少,必须指定本地服务器实例,该实例将成为初始主副本。 还可以选择指定最多四个辅助副本。
在要托管新可用性组的初始主副本的 SQL Server 实例上执行 CREATE AVAILABILITY GROUP。 此服务器实例必须驻留在 Windows Server 故障转移群集(WSFC)的节点上(有关详细信息,请参阅 AlwaysOn 可用性组的先决条件、限制和建议(SQL Server)。
更改可用性组
ALTER AVAILABILITY GROUP 支持更改现有可用性组或可用性组侦听器以及故障转移可用性组。
在托管当前主副本的 SQL Server 实例上执行 ALTER AVAILABILITY GROUP。
ALTER DATABASE ... 设置为 HADR ...
ALTER DATABASE 语句的 SET HADR 子句选项使你能够将辅助数据库联接到相应主数据库的可用性组、删除联接的数据库以及暂停联接的数据库上的数据同步,以及恢复数据同步。
删除可用性组
DROP AVAILABILITY GROUP 删除指定的可用性组及其所有副本。 DROP AVAILABILITY GROUP 可以从 WSFC 故障转移群集中的任何 AlwaysOn 可用性组节点运行。
可用性组 Transact-SQL 语句的限制
CREATE AVAILABILITY GROUP、ALTER AVAILABILITY GROUP 和 DROP AVAILABILITY GROUP Transact-SQL 语句具有以下限制:
除了 DROP AVAILABILITY GROUP 之外,执行这些语句要求在 SQL Server 实例上启用 HADR 服务。 有关详细信息,请参阅“启用和禁用 AlwaysOn 可用性组”(SQL Server)。
这些声明不能在事务或批处理过程中执行。
尽管它们尽最大努力清理失败后,但这些语句不能保证它们会在失败时回滚所有更改。 但是,系统应该能够干净地处理,然后忽略部分故障。
这些语句不支持表达式或变量。
如果在另一个可用性组作或恢复过程中执行 Transact-SQL 语句,该语句将返回错误。 请等待操作或恢复完成,然后在必要时重试该语句。