Symptomen
Als uw Java-toepassing XA-transacties gebruikt en de versie van het Microsoft JDBC-stuurprogramma voor SQL Server (sqljdbc_xa. dll) bestand dat is geïnstalleerd in het exemplaar van SQL Server, wordt 4.2.6420.100 of 6.0.7507.10, wordt de waarde van de gebeurtenis-handle voortgezet totdat het SQL Server-proces vastloopt. Als u het aantal gebeurtenis-handles voor het SQL Server-proces zoekt, start u Taakbeheer en klikt u vervolgens op het tabblad Details . Wanneer de bronnen van de SQL Server-kernel worden uitgeput, vindt u mogelijk de volgende vermelding in het logboek met toepassingsgebeurtenissen vastgelegd:
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
Oorzaak
Dit probleem treedt op wanneer een klasse een DTC-ITransaction-exemplaar maakt, maar het exemplaar niet laat vrijgeven wanneer het wordt gestopt. Wanneer de klas meerdere keren wordt aangeroepen, vindt u in het exemplaar van SQL Server een probleem met de handle.
Oplossing
U lost dit probleem op door het bestaande sqljdbc_xa. dll-stuurprogramma te vervangen.
JDBC Driver 4,2
U kunt dit doen door het bijgewerkte Microsoft JDBC Driver 4,2 for SQL Server (sqljdbc_xa. dll) pakket te downloaden en te installeren van het Microsoft Downloadcentrum. Opmerkingen
-
Het bijgewerkte pakketversie nummer is 4.2.8112.100.
-
Bestaande bibliotheekbestanden aan de clientzijde (sqljdbc41. jar of sqljdbc42. jar) hoeven niet te worden vervangen, zodat u het bijgewerkte sqljdbc_xa. dll-stuurprogramma kunt gebruiken.
JDBC Driver 6,0
U kunt dit doen door het bijgewerkte Microsoft JDBC Driver 6,0 for SQL Server (sqljdbc_xa. dll) pakket te downloaden en te installeren van het Microsoft Downloadcentrum.
Opmerkingen
-
Het bijgewerkte pakketversie nummer is 6.0.8112.100.
-
Bestaande bibliotheekbestanden aan de clientzijde (sqljdbc41. jar of sqljdbc42. jar) hoeven niet te worden vervangen, zodat u het bijgewerkte sqljdbc_xa. dll-stuurprogramma kunt gebruiken.
Meer informatie
Dit probleem is geïntroduceerd in het JDBC-stuurprogramma voor SQL Server versie 4.2.6420.100 en is ook beschikbaar in versie 6.0.7507.10. Dit probleem is opgelost in het JDBC-stuurprogramma voor SQL Server versie 6.0.7728.100 en 6.0.8112.100. Met deze oplossing wordt de DTC ITransaction-sessie vrijgegeven wanneer het exemplaar wordt gestopt.
Status
Microsoft heeft bevestigd dat dit probleem zich kan voordoen in de Microsoft-producten die worden vermeld in de sectie Van toepassing op.
Verwijzingen
Lees meer over de terminologie die door Microsoft wordt gebruikt om software-updates te beschrijven.
Van toepassing op
Dit artikel is van toepassing op de volgende artikelen:
-
Microsoft JDBC Driver 4,2 en 6,0 voor SQL Server indien gebruikt met:
-
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
-