기본적으로 로그인 실패 오류 메시지는 아무것도 아니지만 로그인 자격 증명이 일치하지 않아 서버에서 클라이언트 사용자 연결을 거부했습니다. 확인해야 할 첫 번째 작업은 해당 사용자가 해당 SQL Server 인스턴스 및 관련 데이터베이스에 대한 관련 권한을 가지고 있는지 확인하는 것입니다. 분명히 필요한 권한이 설정되지 않은 경우 해당 사용자 로그인에 대한 관련 권한을 부여하여 해당 문제를 해결해야합니다.
해당 사용자가 데이터베이스 및 서버에 관련 권한을 부여한 경우 서버에서 해당 로그인에 대한 자격 증명 문제가 발생하면 SQL Server에 다시 인증을 부여하지 못하지만 클라이언트는 다음 오류 메시지를 받게됩니다.
Msg 18456, Level 14, State 1, Server <ServerName>, Line 1
Login failed for user '<Name>'
이제 오류 메시지를 살펴보면 이것이 레벨 및 상태를 이해하는 데 설명이 아닌 것처럼 느껴집니다. 기본적으로 운영 체제 오류는 로그인 인증 문제의 특성에 관계없이 '상태'를 1로 표시합니다. 따라서 더 자세히 조사하려면이 오류의 심각도 및 상태에 대한 자세한 정보를 위해 관련 SQL Server 인스턴스 오류 로그도 살펴 봐야합니다. 다음과 같이 로그에서 해당 항목을 살펴볼 수 있습니다.
2007-05-17 00:12:00.34 Logon Error: 18456, Severity: 14, State: 8.
or
2007-05-17 00:12:00.34 Logon Login failed for user '<user name>'.
위에서 정의한대로 오류의 심각도 및 상태 열은 문제의 원인에 대한 정확한 반영을 찾는 데 중요합니다. 위의 상태에 대한 오류 번호 8은 암호 불일치로 인한 인증 실패를 나타냅니다. 온라인 설명서 참조 : 기본적으로 심각도가 19보다 낮은 사용자 정의 메시지는 발생할 때 Microsoft Windows 응용 프로그램 로그로 보내지지 않습니다. 따라서 심각도가 19보다 낮은 사용자 정의 메시지는 SQL Server 에이전트 경고를 트리거하지 않습니다.
SQL Server 프로토콜 (Dev.team)의 프로그램 관리자 인 Sung Lee가 오류 상태 설명에 대한 추가 정보를 간략하게 설명했습니다. 일반적인 오류 상태와 해당 설명은 다음 표에 나와 있습니다.
ERROR STATE ERROR DESCRIPTION
------------------------------------------------------------------------------
2 and 5 Invalid userid
6 Attempt to use a Windows login name with SQL Authentication
7 Login disabled and password mismatch
8 Password mismatch
9 Invalid password
11 and 12 Valid login but server access failure
13 SQL Server service paused
18 Change password required
Well I'm not finished yet, what would you do in case of error:
2007-05-17 00:12:00.34 Logon Login failed for user '<user name>'.
해당 SQL Server 인스턴스의 오류 로그에서 정의 된 심각도 또는 상태 수준이 없음을 알 수 있습니다. 따라서 다음 문제 해결 옵션은 이벤트 뷰어의 보안 로그를 확인하는 것입니다 [스크린 샷이 누락 되었기 때문에 편집하지만
아이디어, 흥미로운 이벤트에 대한 이벤트 로그를보십시오].