AlwaysOn 可用性组包含 SSISDB 数据库中 SQL Server 故障切换后仍然处于"已解决"状态

重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。

点击这里察看该文章的英文版: 3139534
症状
假定 SSISDBdatabase 是 AlwaysOn 可用性组成员,并从 SSISDB 包执行同步时,该可用性组故障转移。在此情况下,可用性组可能还是处于"已解决"状态 (现在以前) 包执行完成之前的主副本。

在这种情况下,故障转移操作成功,但是 (新) 辅助副本上的可用性组包执行完成之前仍处于解析状态。在此期间,SQL Server 错误日志显示类似于以下内容的消息:

不合法的事务正在回滚数据库 SSISDB 的 AlwaysOn 可用性组状态发生了变化。估计回滚已完成: 0%。这是信息性消息。不需要任何用户操作。

查询会话状态显示的用于执行作业的会话处于 KILLED/回滚状态。如果或当执行不完整,则可能会触发错误如下所示:

消息 0,级别 11,状态 0,第 6 行

当前命令发生了严重的错误。结果,如果有,应该被丢弃。

Msg 0、 20、 状态 0,第 6 行级别

当前命令发生了严重的错误。结果,如果有,应该被丢弃。
原因
因为用于执行 SSIS 包的线程控制的机制,用于停止 SQL Server 会话,将出现此问题。以同步方式执行包时,这样的循环,防止 SQL Server 终止会话完成包执行之前执行。
替代方法
若要变通解决此问题,请配置要异步执行的 SSIS 包。执行异步包是默认行为。

警告:本文已自动翻译

属性

文章 ID:3139534 - 上次审阅时间:02/02/2016 21:16:00 - 修订版本: 1.0

Microsoft SQL Server 2012 Business Intelligence, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Enterprise Core, Microsoft SQL Server 2012 Standard, Microsoft SQL Server 2014 Business Intelligence, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Enterprise Core, Microsoft SQL Server 2014 Standard

  • kbmt KB3139534 KbMtzh
反馈