当数据库镜像损坏但主体仍处于活动状态时,网站会引发异常

本文关键字:网站 异常 活动状态 损坏 镜像 数据库 主体 | 更新日期: 2023-09-27 18:32:18

在紧急情况下,当我们不得不从其中一个数据库中删除损坏的数据库镜像(Sql Server 2008)来重建它时,我们的C#网站开始偶尔(不是每个数据库连接)抛出一个异常,上面写着

System.Data.SqlClient.SqlInternalConnectionTds.LoginWithFailover 函数调用中的"数据库 X 未配置为数据库镜像"。

我可以看到为什么它会对丢失的镜像感到不满,但我希望它停止破坏我的 Web 请求 - 如果数据库镜像关闭,我的最终用户不应受到影响。

当数据库镜像损坏但主体仍处于活动状态时,网站会引发异常

看起来这是设计使然,但如果连接到故障转移伙伴,然后关闭镜像,则会打开。

"如果指定了故障转移伙伴,但故障转移伙伴服务器未配置为数据库镜像,并且主服务器(使用 Server 关键字指定)不可用,则连接将失败。"

http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.connectionstring.aspx

不过,希望我能告诉它不要扔....这是镜像设置的一个大问题。