本主题说明如何通过在 SQL Server 2012 中使用 SQL Server Management Studio、Transact-SQL 或 PowerShell 从 AlwaysOn 可用性组中删除辅助数据库。
开始之前
先决条件和限制
- 只有辅助副本支持该任务。 您必须连接到承载要从中删除数据库的辅助副本的服务器实例。
安全性
权限
需要对数据库具有 ALTER 权限。
[Top]
使用 SQL Server Management Studio
从可用性组中删除辅助数据库
在对象资源管理器中,连接到承载您要从中删除一个或多个辅助数据库的辅助副本的服务器实例,然后展开服务器树。
依次展开**“AlwaysOn 高可用性”节点和“可用性组”**节点。
选择可用性组,然后展开**“可用性数据库”**节点。
此步骤取决于您是要删除多个数据库组,还是只删除一个数据库,如下所示:
右键单击选定的一个或多个数据库,然后在命令菜单中选择**“删除辅助数据库”**。
在**“从可用性组删除数据库”对话框中,要删除所有列出的数据库,则单击“确定”。 如果您不想删除所有列出的数据库,请单击“取消”**。
[Top]
使用 Transact-SQL
从可用性组中删除辅助数据库
连接到承载辅助副本的服务器实例。
使用 ALTER DATABASE 语句的 SET HADR 子句,如下所述:
ALTER DATABASE database_name SET HADR OFF
其中,database_name 为要从其所属的可用性组中删除的辅助数据库的名称。
下面的示例将本地辅助数据库 MyDb2 从其可用性组中删除。
ALTER DATABASE MyDb2 SET HADR OFF;
GO
[Top]
使用 PowerShell
从可用性组中删除辅助数据库
将目录 (cd) 更改为承载辅助副本的服务器实例。
使用 Remove-SqlAvailabilityDatabase cmdlet,指定要从可用性组中删除的可用性数据库的名称。 当您连接到承载辅助副本的服务器实例时,只能从可用性组中删除本地辅助数据库。
例如,下面的命令从名为 SecondaryComputer\Instance 的服务器实例承载的辅助副本中删除辅助数据库 MyDb8。 与已删除的辅助数据库的数据同步将停止。 此命令将不会影响主数据库或任何其他辅助数据库。
Remove-SqlAvailabilityDatabase `
-Path SQLSERVER:\Sql\SecondaryComputer\InstanceName\AvailabilityGroups\MyAg\Databases\MyDb8
设置和使用 SQL Server PowerShell 提供程序
[Top]
跟进:从可用性组中删除辅助数据库之后
删除辅助数据库之后,它不再加入到可用性组中,有关删除的辅助数据库的所有信息都会被可用性组丢弃。 删除的辅助数据库处于 RESTORING 状态。
此时,可以通过多种备选方法处理删除的辅助数据库:
|