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
-