Updated: May 17, 2016
Applies To: SQL Server 2016
This topic describes how to take an Always On availability group from the ONLINE state to the OFFLINE state by using Transact-SQL in SQL Server 2012 SP1 and later versions. There is no data loss for synchronous-commit databases because if any synchronous-commit replica is not synchronized, the OFFLINE operation raises an error and leaves the availability group ONLINE. Keeping the availability group online protects unsynchronized synchronous-commit databases from possible data loss. After an availability group goes offline, its databases become unavailable to clients and you cannot bring the availability group back online. Therefore, take an availability group offline only to migrate the availability group resources from one WSFC cluster to another.
During a cross-cluster migration of Always On Availability Groups, if any applications connect directly to the primary replica of an availability group, the availability group must be taken offline. Cross-cluster migration of Always On Availability Groups supports OS upgrade with minimal downtime of availability groups. The typical scenario is to use cross-cluster migration of Always On Availability Groups for OS upgrade to Windows 8 or Windows Server 2012. For more information, see Cross-Cluster Migration of Always On Availability Groups for OS Upgrade.
Before you begin:
To take an availability group offline, using: Transact-SQL
Follow Up: After the Availability Group Goes Offline
The server instance on which you enter the OFFLINE command must be running SQL Server 2012 SP1 or above (Enterprise edition or above).
The availability group must currently be online.
Before you take the availability group offline, delete the availability group listener or listeners. For more information, see Remove an Availability Group Listener (SQL Server).
Requires ALTER AVAILABILITY GROUP permission on the availability group, CONTROL AVAILABILITY GROUP permission, ALTER ANY AVAILABILITY GROUP permission, or CONTROL SERVER permission.
To take an availability group offline
Connect to a server instance that hosts an availability replica for the availability group. This replica can be the primary replica or a secondary replica.
Use the ALTER AVAILABILITY GROUP statement, as follows:
ALTER AVAILABILITY GROUP group_name OFFLINE
where group_name is the name of the availability group.
The following example takes the
AccountsAG availability group offline.
ALTER AVAILABILITY GROUP AccountsAG OFFLINE;
Logging of OFFLINE operation: The identity of the WSFC node where the OFFLINE operation was initiated is stored in both the WSFC cluster log and the SQL ERRORLOG.
If you did not delete the availability group listener before taking the group offline: If you are migrating the availability group to another WSFC cluster, delete the VNN and VIP of the listener. You can delete them by using either the Failover Cluster Management console, the Remove-ClusterResource PowerShell cmdlet, or cluster.exe. Note that cluster.exe is deprecated on Windows 8.