KB3197056-FIX: Java 응용 프로그램이 XA 트랜잭션을 사용 하는 경우 SQL Server 프로세스가 중단 될 때까지 핸들 수가 증가 함

이 문서가 적용되는 제품을 확인하세요.

증상

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

추가 도움이 필요하신가요?

기술 향상
교육 살펴보기
새로운 기능 우선 가져오기
Microsoft Insider 참가

이 정보가 유용한가요?

소중한 의견에 감사드립니다.

피드백을 주셔서 감사합니다. Office 지원 에이전트와 연락하는 것이 도움이 될 것 같습니다.

×