我注意到Server 2012 (标准版)上的DB镜像出现了一个奇怪的问题。镜像被设置,并成功地建立并工作。没有目击证人。
一旦重新启动主体,所有数据库都会陷入恢复模式,从而使DBs无法访问。镜像也会发生同样的情况,当服务器重新启动时,DBs将被困在恢复过程中。为了退出恢复,需要停止端点并重新启动。我检查了以下内容:
为了使DB再次可访问,将执行以下代码:
ALTER ENDPOINT mirroring STATE = STOPPED
ALTER ENDPOINT mirroring STATE = STARTED执行上述查询后,DBs返回到正常状态。
启动错误日志:
在端点配置中禁用了2016-0403 14:03:24.900 spid18s数据库镜像传输。2016-0403 14:03:30.240 spid28s数据库镜像端点现在正在侦听连接。
然后是数据库镜像,数据库'DatabaseName‘作为主副本是活动的。
在执行上述代码之后:
2016-0403 14:12:42.500 spid67数据库镜像端点已停止侦听连接。
因为我要阻止它
2016-0403 14:12:46.530 spid67数据库镜像端点现在正在侦听连接。
因为这是我开始的
此时,数据库镜像是活动的,数据库'DatabaseName‘作为主体副本再次出现。
提前谢谢。
发布于 2016-06-08 20:51:43
我建议使用构建另一个系统,并将其配置为见证服务器。然后将您的操作模式设置为“具有自动故障转移(同步)的高安全性”。
这个解决方案将减轻你的这个问题。您将为桌面windows许可证支付费用,但正如您可能已经知道的那样,在金钱上是免费的。
发布于 2016-04-07 09:31:41
在我看来,镜像设置的方式似乎有问题。
您可以在主体数据库所在的服务器上使用下面的查询。
这将给你一些能见度,因为事情已经建立。
--==============================================================================
-- query that shows the current state of each database in the mirroring
--==============================================================================
SELECT db_name(sd.[database_id]) AS [Database Name]
,sd.mirroring_state AS [Mirror State]
,sd.mirroring_state_desc AS [Mirror State]
,sd.mirroring_partner_name AS [Partner Name]
,sd.mirroring_role_desc AS [Mirror Role]
,sd.mirroring_safety_level_desc AS [Safety Level]
,sd.mirroring_witness_name AS [Witness]
,sd.mirroring_connection_timeout AS [Timeout(sec)]
FROM sys.database_mirroring AS sd
WHERE mirroring_guid IS NOT null
ORDER BY [Database Name];这是输出的一个例子。

https://dba.stackexchange.com/questions/134233
复制相似问题