증상
다음과 같은 경우를 생각해 볼 수 있습니다.
-
Microsoft SQL Server 2012 또는 SQL Server 2014에 포함 된 데이터베이스 를 사용 하 고 있습니다.
-
응용 프로그램이 연결 풀링을사용 하도록 설정 하 여 포함 된 데이터베이스에 연결 하려고 합니다.
-
응용 프로그램에서 SQL Server 인증을 사용 합니다.
이 시나리오에서는 응용 프로그램에서 데이터베이스에 연결 하지 못할 수 있습니다. 또한 SQL Server 오류 로그에 다음과 유사한 오류가 나타납니다.
날짜 시간 로그온 오류: 18456, 심각도: 14, 상태: 5.사용자 ' SID '에 대 한 날짜시간 로그온 로그인에 실패 했습니다. 이유: 제공 된 이름과 일치 하는 로그인을 찾을 수 없음 [클라이언트:]날짜시간 spid# 오류: 18056, 심각도: 20, 상태: 5.날짜시간 spid# 클라이언트가 spid #과 연결 풀링을 위해 다시 설정 된 세션을 다시 사용할 수 없습니다. 오류 ID는 #입니다. 이 오류는 이전 작업 실패 때문에 발생 했을 수 있습니다. 오류 로그에서이 오류 메시지 바로 전에 실패 한 작업을 확인 합니다.
참고 포함 된 데이터베이스에 처음 연결할 때이 문제가 발생 하지 않습니다. 그러나, 모든 후속 시도에서 문제가 발생 합니다.
해결 방법
이 문제는 다음 SQL Server 누적 업데이트에서 처음 수정 되었습니다.
SQL Server 2014 누적 업데이트 1 /en-us/help/2931693
SQL Server 2012 SP1 용 누적 업데이트 7 /en-us/help/2894115
각각의 새로운 새 누적 업데이트에는 이전 누적 업데이트에 포함 된 모든 핫픽스와 모든 보안 수정 사항이 포함 되어 있습니다. SQL Server에 대 한 최신 누적 업데이트를 확인 하세요.
상태
Microsoft는 "적용 대상" 절에 나열한 Microsoft 제품에서 이 문제를 확인했습니다.
추가 정보
이 업데이트는 또한 다음과 같은 기본 제공 함수가 사용자 이름 대신 사용자 SID를 반환 하는 다른 문제를 해결 합니다.
-
SUSER_SNAME
-
SUSER_NAME
-
SYSTEM_USER
참고 이 업데이트는 포함 된 데이터베이스 사용 여부에 관계 없이 이러한 함수를 통해 사용자 이름을 항상 반환 하는 것을 가능 하 게 합니다.
참조
Microsoft에서 소프트웨어 업데이트를 설명 하는 데 사용 하는 용어 를 참조 하세요.