适用于:SQL Server
本主题介绍如何在 SQL Server 2012 SP1 (11.0.3x) 和更高版本中通过使用 Transact-SQL,将某一 Always On 可用性组从 ONLINE 状态转换为 OFFLINE 状态。 对于同步提交数据库没有数据丢失,因为如果任何同步提交副本未同步,OFFLINE 操作将引发错误并且保持可用性组处于 ONLINE 状态。 保持可用性组处于联机状态将保护未同步的同步提交数据库,以防可能的数据丢失。 可用性组脱机后,其数据库将不可用于客户端,并且您无法使可用性组重新联机。 因此,使某一可用性组处于脱机状态只会将该可用性组的资源从一个 WSFC 群集迁移到另一个 WSFC 群集。
在 Always On 可用性组的跨群集迁移过程中,如果任何应用程序直接连接到某一可用性组的主副本,则该可用性组必须置于脱机状态。 Always On 可用性组 的跨群集迁移支持用最短的可用性组停机时间进行操作系统升级。 典型的方案是将 Always On 可用性组 的跨群集迁移用于 SQL Server 2012 SP1 (11.0.3x) 和更高版本。 有关详细信息,请参阅 针对操作系统升级的 AlwaysOn 可用性组的跨群集迁移。
注意
使用“脱机”选项,可跨群集迁移可用性组资源,或故障转移读取扩展可用性组。
先决条件
- 您对其输入 OFFLINE 命令的服务器实例必须正在运行 SQL Server 2012 SP1 (11.0.3x) 或更高版本(Enterprise Edition 或更高)。
- 可用性组当前必须处于联机状态。
建议
在将可用性组置于脱机状态之前,请删除一个或多个可用性组侦听器。 有关详细信息,请参阅 删除可用性组侦听器 (SQL Server)。
权限
需要对可用性组具有 ALTER AVAILABILITY GROUP 权限、CONTROL AVAILABILITY GROUP 权限、ALTER ANY AVAILABILITY GROUP 权限或 CONTROL SERVER 权限。
“使用 Transact-SQL”
将可用性组脱机
连接到托管可用性组的可用性副本的服务器实例。 此副本可以是主副本或辅助副本。
使用 ALTER AVAILABILITY GROUP 语句,如下所示:
ALTER AVAILABILITY GROUP group_name 离线
其中, group_name 是可用性组的名称。
示例
下面的示例将 AccountsAG 可用性组脱机。
ALTER AVAILABILITY GROUP AccountsAG OFFLINE;
跟进:在可用性组处于脱机状态后
OFFLINE 操作的日志记录:启动了 OFFLINE 操作的 WSFC 节点的标识存储于 WSFC 群集日志和 SQL ERRORLOG 中。
如果您在将可用性组置于脱机状态之前未删除可用性组侦听器: 如果您要将可用性组迁移到另一个 WSFC 群集,请删除该侦听器的 VNN 和 VIP。 你可以使用故障转移群集管理控制台、Remove-ClusterResource PowerShell cmdlet 命令或 cluster.exe 来删除它们。 请注意,在 Windows 8 上不推荐使用 cluster.exe。