修复︰ XA 事务不清理退出一个 Java 应用程序的 SQL Server 实例中时

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

点击这里察看该文章的英文版: 3145492
症状
您有一个 Java 应用程序,SQL Server 使用 Microsoft JDBC 驱动程序连接到 Microsoft SQL Server。在 Java 应用程序启动后,您的 SQL Server 实例中运行一个或多个 XA 事务。Java 应用程序退出时,这些交易记录未被清除之前重新启动 SQL Server 的实例。此外,如果有太多孤立的事务,您可能无法启动 SQL Server 的实例中的所有新事务。
解决方案
要解决此问题,应用此更新,然后启用跟踪标记 TF3924。若要启用跟踪标记 TF3924,请参阅"更多信息"部分。

累积更新信息

Thisissue 被固定在下列更新程序︰
建议︰ 设置 SQL Server 的累积更新

SQL Server 的每个新累积更新包含所有修补程序和所有安全修补程序,已包含在以前的累积更新。为 SQL Server,请查阅最新的累积更新︰
状态
Microsoft 已经确认这是"适用于"一节中列出的 Microsoft 产品中的问题。
更多信息
要检查孤立的交易记录,请运行下面的事务处理 SQL 语句的 SQL Server 实例︰
SELECT * FROM sys.syslockinfo L, sys.dm_tran_active_transactions T WHERE L.[req_transactionUOW] = T.[transaction_uow]

如何启用跟踪标志 3924

您可以启用跟踪标志 3924 在启动时或在用户会话中。此跟踪标志具有全局级别或会话级别的影响。若要启用跟踪标志 3924,使用DBCC TRACEON命令或使用– T 3924作为启动参数。

如果使用DBCC TRACEON\TRACEOFF,则这不重新生成存储过程高速缓存的新计划。可能有计划在缓存中没有跟踪标记创建的。

有关如何启用或禁用跟踪标志以及有关全球和会话级别的跟踪标志的详细信息,请参阅 SQL Server 联机丛书中的下列主题︰
参考
了解有关 术语 Microsoft 用于描述软件更新。
注意:本篇“快速发布”文章是从 Microsoft 支持组织直接创建的。 文中包含的信息按原样提供,用于响应紧急问题。 由于发布仓促,材料可能包含印刷错误,并且可能随时修订,恕不另行通知。 有关其他注意事项,请参阅使用条款

属性

文章 ID:3145492 - 上次审阅时间:08/16/2016 00:58:00 - 修订版本: 4.0

Microsoft SQL Server 2012 Service Pack 3, Microsoft SQL Server 2012 Service Pack 2, Microsoft SQL Server 2016 Developer, Microsoft SQL Server 2016 Enterprise, Microsoft SQL Server 2016 Enterprise Core, Microsoft SQL Server 2016 Standard

  • kbqfe kbfix kbexpertiseinter kbsurveynew kbmt KB3145492 KbMtzh
反馈