使可用性组脱机 (SQL Server)
适用于: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 OFFLINE
其中, group_name 是可用性组的名称。
示例
下面的示例将 AccountsAG
可用性组脱机。
ALTER AVAILABILITY GROUP AccountsAG OFFLINE;
跟进:在可用性组处于脱机状态后
OFFLINE 操作的日志记录:启动了 OFFLINE 操作的 WSFC 节点的标识存储于 WSFC 群集日志和 SQL ERRORLOG 中。
如果你在使可用性组脱机之前未删除该可用性组侦听程序:如果要将该可用性组迁移到其他 WSFC 群集,请删除该侦听程序的 VNN 和 VIP。 你可以通过使用故障转移群集管理控制台、 Remove-ClusterResource PowerShell cmdlet 或 cluster.exe删除侦听程序的 VNN 和 VIP。 请注意,在 Windows 8 上不推荐使用 cluster.exe。