从可用性组中删除主数据库 (SQL Server)
本主题说明如何通过在 SQL Server 2012 中使用 SQL Server Management Studio、Transact-SQL 或 PowerShell,从 AlwaysOn 可用性组中删除主数据库和对应的辅助数据库。
开始之前
先决条件和限制
- 只有主副本支持该任务。 您必须连接到承载主副本的服务器实例。
安全性
权限
对可用性组要求 ALTER AVAILABILITY GROUP 权限、CONTROL AVAILABILITY GROUP 权限、ALTER ANY AVAILABILITY GROUP 权限或 CONTROL SERVER 权限。
[Top]
使用 SQL Server Management Studio
删除可用性数据库
在对象资源管理器中,连接到承载要删除的一个或多个数据库的主副本的服务器实例,然后展开服务器树。
依次展开**“AlwaysOn 高可用性”节点和“可用性组”**节点。
选择可用性组,然后展开**“可用性数据库”**节点。
此步骤取决于您是要删除多个数据库组,还是只删除一个数据库,如下所示:
右键单击选定的一个或多个数据库,然后在命令菜单中选择**“从可用性组中删除数据库”**。
在**“从可用性组中删除数据库”对话框中,删除所有列出的数据库,然后单击“确定”。 如果您不想全部删除这些数据库,请单击“取消”**。
[Top]
使用 Transact-SQL
删除可用性数据库
连接到承载主副本的服务器实例。
按如下所示使用 ALTER AVAILABILITY GROUP 语句:
ALTER AVAILABILITY GROUP group_name REMOVE DATABASE availability_database_name
其中,group_name 是可用性组的名称,database_name 是要删除的数据库的名称。
下面的示例将从 MyAG 可用性组中删除名为 Db6 的数据库。
ALTER AVAILABILITY GROUP MyAG REMOVE DATABASE Db6;
[Top]
使用 PowerShell
删除可用性数据库
将目录 (cd) 更改为承载主副本的服务器实例。
使用 Remove-SqlAvailabilityDatabase cmdlet,指定要从可用性组中删除的可用性数据库的名称。 当您连接到承载主副本的服务器实例时,主数据库及其对应的辅助数据库将从可用性组中全部删除。
例如,下面的命令从名为 MyAg 的可用性组中删除可用性数据库 MyDb9。 因为此命令在承载主副本的服务器实例上执行,所以,主数据库及其对应的所有辅助数据库都将从可用性组中删除。 在任何辅助副本上都不会出现针对此数据库的数据同步。
Remove-SqlAvailabilityDatabase `
-Path SQLSERVER:\Sql\PrimaryComputer\InstanceName\AvailabilityGroups\MyAg\Databases\MyDb9
设置和使用 SQL Server PowerShell 提供程序
[Top]
跟进:在从可用性组中删除可用性数据库之后
从其可用性组中删除可用性数据库后,将结束先前主数据库与对应的辅助数据库之间的数据同步。 以前的 master 数据库保持联机状态。 每个对应的辅助数据库都处于 RESTORING 状态。
此时,可以通过多种备选方法处理删除的辅助数据库:
[Top]
请参阅
概念
AlwaysOn 可用性组概述 (SQL Server)
从可用性组中删除辅助数据库 (SQL Server)
|