Applies ToSQL Server 2012 Analysis Services SQL Server 2012 Business Intelligence SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2014 Business Intelligence - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use)

檢視本文適用的產品。

徵狀

如果您的 JAVA 應用程式使用 XA 事務,且在 sql Server 實例中安裝的 SQL Server (sqljdbc_xa .dll)檔案的 Microsoft JDBC 驅動程式版本是4.2.6420.100 或 6.0.7507.10,則事件控制碼計數會繼續增加,直到 SQL server 進程當機。 若要尋找 SQL Server 進程的事件控制碼計數,請啟動 [工作管理員],然後按一下 [ 詳細資料 ] 索引標籤。 當 SQL Server 核心資源耗盡時,您可能會發現在應用程式事件日誌中記錄了下列專案:

Log Name: Application
Source: Microsoft-Windows-Complus
Date:  date time
Event ID: 4689
Task Category: (8)
Level: Error
Keywords: Classic
User: N/A
Computer: computer_name
Description:
The run-time environment has detected an inconsistency in its internal state. This indicates a potential instability in the process that could be caused by the custom components running in the COM+ application, the components they make use of, or other factors. Error in COM\complus\src\inc\UTSem.H(100), Insufficient system resources exist to complete the requested service.

: CreateEvent returned a NULL handle 

原因

這個問題會在班級建立 DTC ITransaction 實例時發生,但無法在該實例停止時再放開。 當您多次呼叫此類別時,會在 SQL Server 實例中發生控制碼洩漏問題。

解決方案

若要解決此問題,請取代現有的 sqljdbc_xa .dll 驅動程式。

JDBC 驅動程式4。2

若要這樣做,請從 Microsoft 下載中心下載並安裝適用于 SQL Server (sqljdbc_xa .dll)套件的更新 MICROSOFT JDBC 驅動程式 4.2 。 注意事項

  • 更新的套件版本號碼是 4.2.8112.100

  • 現有的用戶端文件庫檔案(sqljdbc41 或 sqljdbc42)不需要取代,因此您可以使用更新的 sqljdbc_xa .dll 驅動程式。

 

JDBC 驅動程式6。0

若要這樣做,請從 Microsoft 下載中心下載並安裝 適用于 SQL Server (sqljdbc_xa .dll)套件的更新 MICROSOFT JDBC 驅動程式 6.0 。  

注意事項

  • 更新的套件版本號碼是 6.0.8112.100

  • 現有的用戶端文件庫檔案(sqljdbc41 或 sqljdbc42)不需要取代,因此您可以使用更新的 sqljdbc_xa .dll 驅動程式。

其他相關資訊

這個問題是在 SQL Server 版本4.2.6420.100 的 JDBC 驅動程式中引入,也存在於版本6.0.7507.10 中。 這個問題已在 SQL Server 版本6.0.7728.100 和 6.0.8112.100的 JDBC 驅動程式中修正。 此修正程式會在實例停止時,釋放 DTC ITransaction 實例。

狀態

Microsoft 已確認<適用於>一節中所列的 Microsoft 產品確實有上述問題。

參考

瞭解 Microsoft 用於描述軟體更新的 詞彙

適用於

本文適用于下列各項:

  • Microsoft JDBC 驅動程式4.2 和 6.0 for SQL Server 搭配使用時使用:

    • Microsoft SQL Server 2016

    • Microsoft SQL Server 2014

    • Microsoft SQL Server 2012

    • Microsoft SQL Server 2008 R2

    • Microsoft SQL Server 2008

    • Microsoft SQL Server 2005

需要更多協助嗎?

想要其他選項嗎?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。