一般而言,SQL Server 在数据库级别进行数据同步的方式主要有三种 1.日志传送;2.Mirror(镜像);3. AlwaysOn。复制订阅技术理解为表级别的同步,不归结为数据库级别的同步。
在Mirror维护管理过程中,有一种需求就是在镜像断开后删除镜像库再重建。
但有的时候,直接删除,我们会遇到下面的错误提示。
例如,删除镜像库(副库)Test_Mirror
错误提示:
“无法对数据库XXX执行该操作,因为该数据库参与了数据库镜像会话或可用性组。某些操作不允许对正在参与数据库镜像会话或者可用性组的数据库执行。..."
解决方案
执行以下两条命令,解除主副伙伴关系,修改数据库状态。
alter database Test_Mirror set partner off;
restore database Test_Mirror with recovery;
然后就可以删除镜像数据库了。
备注:
在执行了 alter database Test_Mirror set partner off命令后,主数据库不再显示已同步,Mirror DB(副库)不再显示正在同步。