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