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