执行手动故障转移(无见证,高保护模式)

时间:2009-01-16 10:47:48

标签: sql-server-2005 mirroring

如果主要和镜像伙伴都可用,我可以执行故障转移,但是当主体关闭或从网络拔出时我无法弄清楚如何进行手动故障转移(即失败) )。

我尝试使用:

ALTER DATABASE myMirrorDatabase SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS

但这会使db进入以下状态:

[In Recovery]

我无法运行RESTORE DATABASE,因为db已配置为镜像。那么这样做的正确方法是什么?救命啊!


更多信息......(SERVER_A DB_ASERVER_B DB_B

初始状态:

DB_A is [Principal, Synchronised], DB_B is [Mirror, Synchronised / Restoring]

我停止SERVER_A

DB_A is [offline], DB_B is [Mirror, Disconnected / In Recovery]

我在上面运行alter数据库语句:

DB_A is [offline], DB_B is [In Recovery] 

1 个答案:

答案 0 :(得分:2)

如果您的主计划和证人不可用的计划外故障转移,您应该在镜像上发出以下声明:

USE master
go
ALTER DATABASE AdventureWorks SET PARTNER OFF
GO
RESTORE DATABASE AdventureWorks WITH RECOVERY
GO

这将使镜像联机。

如果您需要在主体再次可用时重新建立镜像配置,则需要完成备份镜像DB的过程(因为它现在是最新版本),还原到主体,然后配置镜像一遍又一遍,但相反。在它结束时,镜子将成为新的校长。