2007~2011/SQL Server2010. 12. 10. 16:46

Login failed for user 'sa'. 원인 : 명시적으로 지정된 데이터베이스를 열지 못했습니다. (오류: 18456, 심각도: 14, 상태: 38) 라는 오류 메시지가 발생하는 원인에 대해서 아래와 같이 정리하였습니다.


[환경]
SQL Server 2008 SP1


[현상]
이벤트 로그에서 감사 실패 메시지 발생

원본:            MSSQLSERVER
이벤트 ID:        18456
작업 범주:         로그온
수준:            정보
키워드:           클래식,감사 실패
컴퓨터:           laigodb01.laigo.kr
설명:
사용자 'sa'이(가) 로그인하지 못했습니다. 원인: 명시적으로 지정된 데이터베이스를 열지 못했습니다. [클라이언트: 192.168.0.100]


[원인]
클라이언트에서 존재하지 않는 데이터베이스에 연결하려고 하였을 때, 위와 같은 오류가 기록될 수 있습니다. 해당 클라이언트 IP 에서 접속하는 어플리케이션에 대한 확인이 필요합니다.


[분석결과]
SQL ERRORLOG 확인
Login failed for user 'sa'. 원인 : 명시적으로 지정된 데이터베이스를 열지 못했습니다. (오류: 18456, 심각도: 14, 상태: 38)


[현상 재현]
Sqlcmd 명령으로 sa 계정으로 실제 존재하지 않는 laigo 데이터베이스에 접근하려 하였을 때, 이와 같은 오류가 발생할 수 있습니다.

C:\Users\laigo>sqlcmd -S laigodb -U sa -P ******-d laigo


메시지 4060, 수준 11, 상태 1, 서버 laigodb, 줄 1
로그인에서 요청한 데이터베이스 "laigo"을(를) 열 수 없습니다. 로그인이 실패했습니다.

메시지 18456, 수준 14, 상태 1, 서버 laigodb, 줄 1
사용자 'sa'이(가) 로그인하지 못했습니다.


작성자 : Lai Go / 작성일자 : 2010.12.09

Posted by Lai Go