我在当前的主要和镜像故障转移 SQL Server 设置之间有一组镜像作业。过去,镜像服务器上的作业在启用时会失败,因为它们无法打开本地数据库,因为它处于恢复状态。但是,我现在看到作业成功并正在转发到当前的主数据库。
我已经看到 .Net 使用的 SQL Server 驱动程序的这种行为,因此如果发生故障转移,它将允许自动重新连接。我以前在 SQL 作业中没有看到过这种行为,而且我似乎找不到任何关于它的文档。
我发现另外两个提到此行为(一,二)的解决方法,但是我很难找到有关此功能的文档,因此我知道这是我所做的配置更改还是启用了我安装的更新。
此功能是否记录在 Microsoft 的任何参考资料中?
这些作业是 T-SQL 步骤,它们正在读取和(成功)写入。有些是内联 T-SQL,有些是在目标数据库中调用 SP。我使用的是标准镜像而不是可用性组。
过去似乎有很多人遇到过这个问题,他们都实施了一种或另一种解决方法来摆脱它。未在 Microsoft 网站上记录或由任何已知的 SME(主题专家)提供。
首先,我会说数据库镜像已被弃用,并且在不久的将来微软不会支持,因此您应该计划更改它并用另一种方法替换。
如上所述,我认为很少有有趣的解决方法可以用来避免这个问题:
msdb.sys.database_mirroring
并将其包含在您的工作步骤中。在此处阅读更多操作方法。要禁用作业步骤,如果有很多作业,您可以使用以下脚本:
希望这可以帮助。