Gejala
Jika aplikasi Java Anda menggunakan transaksi XA, dan versi driver Microsoft JDBC untuk file SQL Server (sqljdbc_xa. dll) yang diinstal dalam contoh SQL Server adalah 4.2.6420.100 atau 6.0.7507.10, jumlah gagang acara terus bertambah hingga proses SQL Server mengalami crash. Untuk menemukan jumlah gagang acara untuk proses SQL Server, mulai manajer tugas, lalu klik tab detail . Ketika sumber daya kernel SQL Server habis, Anda mungkin menemukan entri berikut ini yang dicatat dalam log kejadian aplikasi:
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
Penyebab
Masalah ini terjadi ketika kelas membuat contoh DTC ITransaction tapi tidak melepaskan instance saat dihentikan. Saat kelas disebut berkali-kali, masalah kebocoran handle terjadi dalam contoh SQL Server.
Pemecahan Masalah
Untuk mengatasi masalah ini, ganti driver sqljdbc_xa. dll yang sudah ada.
Driver JDBC 4,2
Untuk melakukan ini, Unduh dan Instal paket Microsoft JDBC Driver 4,2 untuk paket SQL Server (sqljdbc_xa. dll) dari Pusat Unduhan Microsoft. Catatan
-
Nomor versi paket yang diperbarui adalah 4.2.8112.100.
-
File pustaka sisi klien yang sudah ada (sqljdbc41. jar atau sqljdbc42. jar) tidak perlu diganti agar Anda bisa menggunakan driver sqljdbc_xa. dll yang diperbarui.
Driver JDBC 6,0
Untuk melakukan ini, Unduh dan Instal paket Microsoft JDBC Driver 6,0 untuk paket SQL Server (sqljdbc_xa. dll) dari Pusat Unduhan Microsoft.
Catatan
-
Nomor versi paket yang diperbarui adalah 6.0.8112.100.
-
File pustaka sisi klien yang sudah ada (sqljdbc41. jar atau sqljdbc42. jar) tidak perlu diganti agar Anda bisa menggunakan driver sqljdbc_xa. dll yang diperbarui.
Informasi Selengkapnya
Masalah ini telah diperkenalkan di driver JDBC untuk SQL Server versi 4.2.6420.100, dan juga ada dalam versi 6.0.7507.10. Masalah ini telah diperbaiki di driver JDBC untuk SQL Server versi 6.0.7728.100 dan 6.0.8112.100. Perbaikan ini melepaskan contoh DTC ITransaction saat instance dihentikan.
Status
Microsoft telah mengonfirmasi bahwa ini adalah masalah pada produk Microsoft yang tercantum di bagian "Berlaku untuk".
Referensi
Pelajari tentang terminologi yang digunakan Microsoft untuk menjelaskan pembaruan perangkat lunak.
Berlaku untuk
Artikel ini berlaku untuk hal berikut:
-
Microsoft JDBC driver 4,2 dan 6,0 untuk SQL Server ketika digunakan dengan:
-
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
-