KB3197056-FIX: il numero di handle aumenta fino a quando il processo di SQL Server non si arresta in modo anomalo se l'applicazione Java usa transazioni XA

Visualizzare i prodotti a cui questo articolo si applica.

Sintomi

Se l'applicazione Java usa transazioni XA e la versione del file Microsoft JDBC driver per SQL Server (sqljdbc_xa. dll) installata nell'istanza di SQL Server è 4.2.6420.100 o 6.0.7507.10, il conteggio dell'handle dell'evento continua ad aumentare fino a quando il processo di SQL Server non si arresta in modo anomalo. Per trovare il conteggio dell'handle dell'evento per il processo di SQL Server, avviare Gestione attività e quindi fare clic sulla scheda Dettagli . Quando le risorse del kernel di SQL Server sono esaurite, è possibile che la voce seguente sia registrata nel registro eventi applicazione:

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 

Causa

Questo problema si verifica quando una classe crea un'istanza di ITransaction DTC ma non rilascia l'istanza quando viene interrotta. Quando la classe viene chiamata molte volte, si verifica un problema di perdita di handle nell'istanza di SQL Server.

Risoluzione

Per risolvere il problema, sostituire il driver sqljdbc_xa. dll esistente.

Driver JDBC 4,2

A questo scopo, scaricare e installare il pacchetto Microsoft JDBC Driver 4,2 per SQL Server (sqljdbc_xa. dll) aggiornato dall'area download Microsoft. Note

  • Il numero di versione aggiornato del pacchetto è 4.2.8112.100.

  • I file di libreria lato client esistenti (sqljdbc41. jar o sqljdbc42. jar) non devono essere sostituiti in modo da poter usare il driver sqljdbc_xa. dll aggiornato.

 

Driver JDBC 6,0

A questo scopo, scaricare e installare il pacchetto Microsoft JDBC Driver 6,0 per SQL Server (sqljdbc_xa. dll) aggiornato dall'area download Microsoft.  

Note

  • Il numero di versione aggiornato del pacchetto è 6.0.8112.100.

  • I file di libreria lato client esistenti (sqljdbc41. jar o sqljdbc42. jar) non devono essere sostituiti in modo da poter usare il driver sqljdbc_xa. dll aggiornato.

Ulteriori informazioni

Questo problema è stato introdotto nel driver JDBC per SQL Server versione 4.2.6420.100 e esiste anche nella versione 6.0.7507.10. Questo problema è stato risolto nel driver JDBC per SQL Server versione 6.0.7728.100 e 6.0.8112.100. Questa correzione rilascia l'istanza di ITransaction DTC quando l'istanza viene interrotta.

Stato

Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".

Riferimenti

Informazioni sulla terminologia utilizzata da Microsoft per descrivere gli aggiornamenti software.

Le informazioni in questo articolo si applicano a

Questo articolo si applica alle operazioni seguenti:

  • Microsoft JDBC Driver 4,2 e 6,0 per SQL Server quando viene usato con:

    • 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

Serve aiuto?

Amplia le tue competenze
Esplora i corsi di formazione
Ottieni in anticipo le nuove caratteristiche
Partecipa a Microsoft Insider

Queste informazioni sono risultate utili?

Grazie per il feedback!

Grazie per il tuo feedback! Potrebbe essere utile metterti in contatto con uno dei nostri operatori del supporto di Office.

×