KB3197056-remediere: numărul de ghidaj crește până când procesul SQL Server se blochează dacă aplicația Java utilizează tranzacții XA

Vizualizați produsele la care se aplică acest articol.

Simptome

Dacă aplicația Java utilizează tranzacții XA, iar versiunea pentru fișierul driver Microsoft JDBC pentru SQL Server (sqljdbc_xa. dll) care este instalată în instanța SQL Server este 4.2.6420.100 sau 6.0.7507.10, numărul de ghidaje de eveniment continuă să crească până când procesul SQL Server se blochează. Pentru a găsi numărul de gestionare a evenimentului pentru procesul de SQL Server, porniți managerul de activități, apoi faceți clic pe fila Detalii . Atunci când resursele kernel-ului SQL Server sunt epuizate, este posibil să găsiți următoarea intrare înregistrată în Jurnalul de evenimente al aplicației:

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 

Cauză

Această problemă apare atunci când o clasă creează o instanță ITransaction DTC, dar nu eliberează instanța atunci când este oprită. Atunci când clasa este denumită de mai multe ori, se produce o problemă de scurgere a unui handle în instanța SQL Server.

Rezolvare

Pentru a rezolva această problemă, înlocuiți driverul existent sqljdbc_xa. dll.

Driverul JDBC 4,2

Pentru a face acest lucru, descărcați și instalați pachetul actualizat Microsoft JDBC Driver 4,2 pentru SQL Server (sqljdbc_xa. dll) de la centrul de descărcare Microsoft. Note

  • Numărul de versiune a pachetului actualizat este 4.2.8112.100.

  • Fișierele existente în biblioteca de pe partea client (sqljdbc41. jar sau sqljdbc42. jar) nu trebuie înlocuite, astfel încât să puteți utiliza driverul actualizat sqljdbc_xa. dll.

 

Driverul JDBC 6,0

Pentru a face acest lucru, descărcați și instalați pachetul actualizat Microsoft JDBC Driver 6,0 pentru SQL Server (sqljdbc_xa. dll) de la centrul de descărcare Microsoft.  

Note

  • Numărul de versiune a pachetului actualizat este 6.0.8112.100.

  • Fișierele existente în biblioteca de pe partea client (sqljdbc41. jar sau sqljdbc42. jar) nu trebuie înlocuite, astfel încât să puteți utiliza driverul actualizat sqljdbc_xa. dll.

Mai multe informații

Această problemă a fost introdusă în driverul JDBC pentru SQL Server Version 4.2.6420.100 și există și în versiunea 6.0.7507.10. Această problemă este remediată în driverul JDBC pentru SQL Server Version 6.0.7728.100 și 6.0.8112.100. Această remediere eliberează instanța DTC ITransaction atunci când instanța este oprită.

Stare

Microsoft a confirmat că aceasta este o problemă în produsele Microsoft enumerate în secțiunea „Se aplică la”.

Referințe

Aflați despre terminologia pe care o utilizează Microsoft pentru a descrie actualizările de software.

Se aplică la

Acest articol se aplică la următoarele:

  • Microsoft JDBC driver 4,2 și 6,0 pentru SQL Server atunci când sunt utilizate cu:

    • 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

Aveți nevoie de ajutor suplimentar?

Extindeți-vă competențele
Explorați instruirea
Fiți primul care obține noile caracteristici
Alăturați-vă la Microsoft Insider

V-a fost de ajutor această informație?

Vă mulțumim pentru feedback!

Vă mulțumim pentru feedback! Se pare că ar fi util să luați legătura cu unul dintre agenții noștri de asistență Office.

×