증상
Java 응용 프로그램이 XA 트랜잭션을 사용 하 고 있고 SQL Server 인스턴스에 설치 된 SQL Server (sqljdbc_xa .dll) 파일의 버전이 4.2.6420.100 또는 6.0.7507.10인 경우에는 sql server 프로세스가 충돌 하는 경우까지 계속 해 서 이벤트 핸들 수가 증가 합니다. SQL Server 프로세스의 이벤트 핸들 수를 찾으려면 작업 관리자를 시작 하 고 세부 정보 탭을 클릭 합니다. SQL Server 커널 리소스가 소진 되 면 응용 프로그램 이벤트 로그에 다음과 같은 항목이 기록 될 수 있습니다.
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
원인
이 문제는 클래스가 DTC ITransaction 인스턴스를 만들었지만 중지 된 경우 인스턴스를 해제 하지 않는 경우에 발생 합니다. 클래스가 여러 번 호출 되 면 SQL Server 인스턴스에서 핸들 누수 문제가 발생 합니다.
해결 방법
이 문제를 해결 하려면 기존 sqljdbc_xa .dll 드라이버를 바꿉니다.
JDBC 드라이버 4.2
이렇게 하려면 Microsoft 다운로드 센터에서 SQL Server (sqljdbc_xa .dll) 패키지에 대 한 업데이트 된 MICROSOFT JDBC 드라이버 4.2 을 다운로드 하 여 설치 합니다. 참고
-
업데이트 된 패키지 버전 번호는 4.2.8112.100입니다.
-
업데이트 된 sqljdbc_xa .dll 드라이버를 사용할 수 있도록 기존 클라이언트 쪽 라이브러리 파일 (sqljdbc41 또는 sqljdbc42)을 바꿀 필요는 없습니다.
JDBC 드라이버 6.0
이렇게 하려면 Microsoft 다운로드 센터에서 SQL Server (sqljdbc_xa .dll) 패키지에 대 한 업데이트 된 MICROSOFT JDBC 드라이버 6.0 을 다운로드 하 여 설치 합니다.
참고
-
업데이트 된 패키지 버전 번호는 6.0.8112.100입니다.
-
업데이트 된 sqljdbc_xa .dll 드라이버를 사용할 수 있도록 기존 클라이언트 쪽 라이브러리 파일 (sqljdbc41 또는 sqljdbc42)을 바꿀 필요는 없습니다.
추가 정보
이 문제는 SQL Server 버전 4.2.6420.100 용 JDBC 드라이버에서 도입 되었으며 버전 6.0.7507.10에도 있습니다. 이 문제는 SQL Server 버전 6.0.7728.100 및 6.0.8112.100에 대 한 JDBC driver에서 해결 되었습니다. 이 수정은 인스턴스가 중지 될 때 DTC ITransaction 인스턴스를 해제 합니다.
상태
Microsoft는 "적용 대상" 절에 나열한 제품에서 이 문제를 확인했습니다.
참조
Microsoft에서 소프트웨어 업데이트를 설명 하는 데 사용 하는 용어 에 대해 알아봅니다.
적용 대상
이 문서는 다음에 적용 됩니다.
-
SQL Server에 대 한 Microsoft JDBC 드라이버 4.2 및 6.0은 다음과 함께 사용 됩니다.
-
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
-