2007~2011/SQL Server2010. 1. 30. 11:25

SQL Server 2005 sa 계정으로 로그온 되지 않는 현상입니다. 어떤 경우에 이와 같은 오류가 발생할 수 있는지 확인된 내용에 대해서 아래와 같이 정리하였습니다.


[환경]
SQL Server 2005 or SQL Server 2008


[현상]
SQL Server 2005 SA 계정으로 로그온을 시도하였으나 아래와 같은 오류가 발생합니다.

An error occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: Named Pipes Provider, error 40 - Could open a connection to SQL Server)

또는 SQL Server 2008 에서는 아래 오류가 나타날 수 있습니다.

Cannot open user default database. Login failed.
Login failed for user 'sa'. (Microsoft SQL Server, Error: 4064)


[원인]
sa 계정이 로그온 할 때 사용하는 기본 데이터베이스가 지정되어 있지 않습니다. 기본값 데이터베이스로 지정한 데이터베이스가 Drop 되었을 경우 이와 같이 기본 데이터베이스 설정이 NULL 상태로 될 수 있습니다.


[해결방안]
sysadmin 권한이 있는 Windows 인증으로 SQL Server에 로그인 한 후 sa계정의 기본 데이터베이스를 master로 지정합니다.

sp_defaultdb 'sa', 'master'



[분석결과]
1. sp_readerrorlog
2010-01-22 13:36:27.880 로그온          오류: 18456, 심각도: 14, 상태: 16.
2010-01-22 13:36:27.880 로그온          Login failed for user 'sa'. [클라이언트: <local machine>]


[참고자료]
SQL Server 2005 Connectivity Issue Troubleshoot - Part I
http://blogs.msdn.com/sql_protocols/archive/2005/10/22/483684.aspx

문제 해결: 사용자 'x'이(가) 로그인하지 못했습니다.
http://msdn.microsoft.com/ko-kr/library/ms366351(SQL.90).aspx

Error message when you connect to an instance of SQL Server: "Cannot open user default database"
http://support.microsoft.com/kb/307864/en-us


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

Posted by Lai Go