使可用性组脱机 (SQL Server)

本主题介绍如何在 SQL Server 2012 SP1 及更高版本中使用 Transact-SQL,将 AlwaysOn 可用性组从 ONLINE 状态带到 OFFLINE 状态。 对于同步提交数据库没有数据丢失,因为如果任何同步提交副本未同步,OFFLINE 操作将引发错误并且保持可用性组处于 ONLINE 状态。 保持可用性组处于联机状态将保护未同步的同步提交数据库,以防可能的数据丢失。 可用性组脱机后,其数据库将不可用于客户端,并且您无法使可用性组重新联机。 因此,使某一可用性组处于脱机状态只会将该可用性组的资源从一个 WSFC 群集迁移到另一个 WSFC 群集。

在 AlwaysOn 可用性组的跨群集迁移过程中,如果任何应用程序直接连接到可用性组的主副本,则必须使可用性组脱机。 AlwaysOn 可用性组的跨群集迁移支持 OS 升级,同时尽量缩短可用性组的停机时间。 典型方案是使用 AlwaysOn 可用性组的跨群集迁移,以便将 OS 升级到 Windows 8 或 Windows Server 2012。 有关详细信息,请参阅 Os 升级的 AlwaysOn 可用性组的跨群集迁移

在您开始之前

谨慎

仅在进行可用性组资源跨群集迁移时使用 OFFLINE 选项。

先决条件

  • 输入 OFFLINE 命令的服务器实例必须运行 SQL Server 2012 SP1 或更高版本(企业版或更高版本)。

  • 可用性组当前必须处于联机状态。

建议

在您使可用性组脱机之前,删除可用性组侦听器。 有关详细信息,请参阅删除可用性组侦听程序 (SQL Server)

安全

权限

对可用性组要求 ALTER AVAILABILITY GROUP 权限、CONTROL AVAILABILITY GROUP 权限、ALTER ANY AVAILABILITY GROUP 权限或 CONTROL SERVER 权限。

使用 Transact-SQL

使可用性组脱机

  1. 连接到为可用性组承载可用性副本的服务器实例。 此副本可以是主副本或辅助副本。

  2. 按如下所示使用 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。

相关任务

相关内容

另请参阅

AlwaysOn 可用性组 (SQL Server)