Microsoft 将 Microsoft SQL Server 2012 修复分发为一个可下载文件。 由于修补程序是累积的,因此每个新版本都包含以前的 SQL Server 2012 修复版本附带的所有修补程序和所有安全修补程序。

症状

假设你使用 SQL Server 代理并行运行许多 SQL Server 2012 Integration Services (SSIS 2012)程序包。 此外,SSIS 事件配置为记录到 SSISDB 或 MSDB 表。 在这种情况下,SSIS 包的执行意外结束,并且具有 "已取消" 状态。 出现这种情况时,不会记录任何错误消息。 例如,对持续2至3小时的 SSIS 程序包的长时间意外终止,具有 "已取消" 状态,并且不记录任何错误消息。注意

  • 预期的结果是程序包执行应成功,否则应失败并出现一些错误。 此外,"已取消" 状态应仅针对显式停止的程序包执行进行显示。

  • 当在其中记录 SSIS 事件的 SQL Server 数据库引擎实例处于压力条件下时,更有可能出现此问题。 压力状况可能包括由 SSISDB 数据库增长导致的阻塞、缓慢的性能或延迟。

原因

出现此问题的原因在于事件日志记录超时。 这将导致 SSIS 包执行提前取消。 将 SSIS 事件配置为在 SSISDB 或 MSDB 表中记录时, Insert 命令会将日志事件和性能统计信息写入这些表内部。 当存在多个并行执行 SSIS 包时,将执行许多并行 插入 命令。 因此,超时错误更有可能发生,并导致 "症状" 部分中所述的问题。

解决方案

应用修补程序后," 插入 " 命令的超时时间将从30秒增加到120秒。 此外,如果在120秒的延迟后发生超时,则不会取消 SSIS 包执行。 而是跳过未完成的日志事件,以避免程序包失败。

累积更新信息

SQL Server 2012 累积更新包3

此问题的修补程序首次在累积更新3中发布。有关如何为 SQL Server 2012 获取此累积更新包的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

2723749 SQL Server 2012 的累积更新3注意 由于这些版本是累积的,因此每个新的修复版本都包含以前的 SQL Server 2012 修复版本附带的所有修补程序和所有安全修补程序。 我们建议你考虑应用包含此修补程序的最新修复版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

2692828 在 SQL Server 2012 发布后发布的 SQL Server 2012 版本

状态

Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。

解决方法

要解决此问题,请使用以下方法之一:

  • 尝试并行运行较少的 SSIS 包或较少的任务。

  • 在从 Management Studio 或从 SQL Server 代理作业执行程序包时,请尝试减少 日志记录级别 参数。 例如,如果使用详细日志记录,则可以将 日志记录级别 参数设置为 " 基本 " 或 " 无"。 如果在 SQL Server 数据工具设计器中使用 SSIS 包设置中的日志记录设置,则可以将事件记录到文本文件,而不是 SSISDB 数据库表或 MSDB 数据库表。

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?

Thank you for your feedback!

×