MSSQLSERVER_18456MSSQLSERVER_18456

세부 정보Details

제품 이름Product Name SQL ServerSQL Server
이벤트 IDEvent ID 1845618456
이벤트 원본Event Source MSSQLSERVERMSSQLSERVER
구성 요소Component SQLEngineSQLEngine
심볼 이름Symbolic Name LOGON_FAILEDLOGON_FAILED
메시지 텍스트Message Text 사용자 '%.ls'이(가) 로그인하지 못했습니다.%.\lsLogin failed for user '%.ls'.%.\ls

설명Explanation

잘못된 암호나 사용자 이름과 관련된 인증 실패로 인해 연결 시도가 거부되면 다음과 유사한 메시지가 클라이언트로 반환됩니다. "사용자 ''이(가) 로그인하지 못했습니다.When a connection attempt is rejected because of an authentication failure that involves a bad password or user name, a message similar to the following is returned to the client: "Login failed for user ''. (Microsoft SQL Server, 오류: 18456)".(Microsoft SQL Server, Error: 18456)".

클라이언트로 반환되는 추가 정보는 다음과 같습니다.Additional information returned to the client includes the following:

"사용자 ''이(가) 로그인하지 못했습니다."Login failed for user ''. (.Net SqlClient 데이터 공급자)"(.Net SqlClient Data Provider)"

------------------------------

"서버 이름: ""Server Name: "

"오류 번호: 18456""Error Number: 18456"

"심각도: 14""Severity: 14"

"상태: 1""State: 1"

"줄 번호: 65536""Line Number: 65536"

다음 메시지가 반환될 수도 있습니다.The following message might also be returned:

"메시지 18456, 수준 14, 상태 1, 서버 , 줄 1""Msg 18456, Level 14, State 1, Server , Line 1"

"사용자 ''이(가) 로그인하지 못했습니다.""Login failed for user ''."

추가 오류 정보Additional Error Information

보안 향상을 위해 클라이언트로 반환되는 오류 메시지는 의도적으로 인증 오류의 특성을 숨깁니다.To increase security, the error message that is returned to the client deliberately hides the nature of the authentication error. 그러나 SQL ServerSQL Server 오류 로그의 해당 오류에는 인증 실패 조건에 매핑되는 오류 상태가 포함되어 있습니다.However, in the SQL ServerSQL Server error log, a corresponding error contains an error state that maps to an authentication failure condition. 로그인 실패 이유를 확인하려면 오류 상태를 다음 목록과 비교합니다.Compare the error state to the following list to determine the reason for the login failure.

StateState DescriptionDescription
11 오류 정보를 사용할 수 없습니다.Error information is not available. 일반적으로 이 상태는 오류 정보를 수신할 수 있는 권한이 없음을 의미합니다.This state usually means you do not have permission to receive the error details. 자세한 내용은 SQL ServerSQL Server 관리자에게 문의하십시오.Contact your SQL ServerSQL Server administrator for more information.
22 사용자 ID가 잘못되었습니다.User ID is not valid.
55 사용자 ID가 잘못되었습니다.User ID is not valid.
66 SQL Server 인증에 Windows 로그인 이름을 사용하려고 했습니다.An attempt was made to use a Windows login name with SQL Server Authentication.
77 로그인을 사용할 수 없으며 암호가 잘못되었습니다.Login is disabled, and the password is incorrect.
88 암호가 잘못되었습니다.The password is incorrect.
99 암호가 잘못되었습니다.Password is not valid.
1111 올바른 로그인이지만 서버 액세스에 실패했습니다.Login is valid, but server access failed. 예를 들어 Windows 사용자에게 로컬 Administrators 그룹의 멤버로 SQL ServerSQL Server에 액세스할 수 있는 권한이 있지만 Windows에서 관리자 자격 증명을 제공하지 않는 경우에 이 오류가 발생할 수 있습니다.One possible cause of this error is when the Windows user has access to SQL ServerSQL Server as a member of the local administrators group, but Windows is not providing administrator credentials. 연결하려면 관리자 권한으로 실행 옵션을 사용하여 연결 프로그램을 시작하고 SQL ServerSQL Server에 특정 로그인으로 Windows 사용자를 추가합니다.To connect, start the connecting program using the Run as administrator option, and then add the Windows user to SQL ServerSQL Server as a specific login.
1212 올바른 로그인이지만 서버 액세스에 실패했습니다.Login is valid login, but server access failed.
1818 암호를 변경해야 합니다.Password must be changed.
38, 4638, 46 사용자가 요청한 데이터베이스를 찾을 수 없습니다.Could not find database requested by user.
102 - 111102 - 111 AAD 오류입니다.AAD failure.
122 - 124122 - 124 빈 사용자 이름 또는 암호로 인한 오류입니다.Failure due to empty user name or password.
126126 사용자가 요청한 데이터베이스가 없습니다.Database requested by user does not exist.
132 - 133132 - 133 AAD 오류입니다.AAD failure.

다른 오류 상태가 있으며 예기치 않은 내부 처리 오류를 나타냅니다.Other error states exist and signify an unexpected internal processing error.

일반적이진 않지만 가능한 다른 원인An additional unusual possible cause

다음과 같은 상황에서 SQL Server 인증을 사용하여 로그인하지 못했습니다. 서버가 Windows 인증만 사용하도록 구성되어 있습니다.The error reason An attempt to login using SQL authentication failed. Server is configured for Windows authentication only. 오류 원인이 반환할 수 있습니다.can be returned in the following situations.

  • 서버가 혼합 모드 인증으로 구성되고, ODBC 연결이 TCP 프로토콜을 사용하고, 신뢰할 수 있는 연결을 사용해야 한다고 연결에 명시적으로 지정되어 있지 않은 경우When the server is configured for mixed mode authentication, and an ODBC connection uses the TCP protocol, and the connection does not explicitly specify that the connection should use a trusted connection.

  • 서버가 혼합 모드 인증으로 구성되고, ODBC 연결이 명명된 파이프를 사용하고, 클라이언트가 명명된 파이프를 여는 데 사용한 자격 증명이 자동으로 사용자를 가장하는 데 사용되고, 신뢰할 수 있는 연결을 사용해야 한다고 연결에 명시적으로 지정되어 있지 않은 경우When the server is configured for mixed mode authentication, and an ODBC connection uses named pipes, and the credentials the client used to open the named pipe are used to automatically impersonate the user, and the connection does not explicitly specify that the connection should use a trusted connection.

이 문제를 해결하려면 연결 문자열에 TRUSTED_CONNECTION = TRUE를 포함합니다.To resolve this issue, include TRUSTED_CONNECTION = TRUE in the connection string.

Examples

이 예에서 인증 오류 상태는 8이며In this example, the authentication error state is 8. 암호가 잘못되었음을 나타냅니다.This indicates that the password is incorrect.

날짜Date 원본Source 메시지Message
2007-12-05 20:12:56.342007-12-05 20:12:56.34 로그온Logon 오류: 18456, 심각도: 14, 상태: 8.Error: 18456, Severity: 14, State: 8.
2007-12-05 20:12:56.342007-12-05 20:12:56.34 로그온Logon 사용자 ''이(가) 로그인하지 못했습니다.Login failed for user ''. [클라이언트: ][CLIENT: ]
참고

Windows 인증 모드를 사용하여 SQL ServerSQL Server를 설치하고 나중에 SQL ServerSQL Server 및 Windows 인증 모드로 변경하면 처음에는 sa 로그인을 사용할 수 없습니다.When SQL ServerSQL Server is installed using Windows Authentication mode and is later changed to SQL ServerSQL Server and Windows Authentication mode, the sa login is initially disabled. 이 경우 상태 7 오류: "사용자 'sa'이(가) 로그인하지 못했습니다."가 발생합니다. sa 로그인을 사용하도록 설정하려면 서버 인증 모드 변경을 참조하세요.This causes the state 7 error: "Login failed for user 'sa'." To enable the sa login, see Change Server Authentication Mode.

사용자 동작User Action

SQL ServerSQL Server 인증을 사용하여 연결하려고 하는 경우 SQL ServerSQL Server가 혼합 인증 모드로 구성되어 있는지 확인합니다.If you are trying to connect using SQL ServerSQL Server Authentication, verify that SQL ServerSQL Server is configured in Mixed Authentication Mode.

SQL ServerSQL Server 인증을 사용하여 연결하려고 하는 경우 SQL ServerSQL Server 로그인이 있고 이 로그인 이름의 철자가 올바른지 확인합니다.If you are trying to connect using SQL ServerSQL Server Authentication, verify that SQL ServerSQL Server login exists and that you have spelled it properly.

Windows 인증을 사용하여 연결하려고 하는 경우 올바른 도메인에 제대로 로그인되어 있는지 확인합니다.If you are trying to connect using Windows Authentication, verify that you are properly logged into the correct domain.

오류 상태가 1일 경우에는 SQL ServerSQL Server 관리자에게 문의합니다.If your error indicates state 1, contact your SQL ServerSQL Server administrator.

관리자 자격 증명을 사용하여 연결하려면 관리자 권한으로 실행 옵션을 사용하여 응용 프로그램을 시작합니다.If you are trying to connect using your administrator credentials, start you application by using the Run as Administrator option. 연결되면 Windows 사용자를 개별 로그인으로 추가합니다.When connected, add your Windows user as an individual login.

데이터베이스 엔진Database Engine에서 포함된 데이터베이스를 지원하는 경우 포함된 데이터베이스 사용자로 마이그레이션한 후 해당 로그인이 삭제되지 않았는지 확인하십시오.If the 데이터베이스 엔진Database Engine supports contained databases, confirm that the login was not deleted after migration to a contained database user.

SQL ServerSQL Server 인스턴스에 로컬로 연결하는 경우 NT AUTHORITY\NETWORK SERVICE에서 실행되는 서비스의 연결도 컴퓨터의 정규화된 도메인 이름을 사용하여 인증해야 합니다.When connecting locally to an instance of SQL ServerSQL Server, connections from services running under NT AUTHORITY\NETWORK SERVICE must authenticate using the computers fully qualified domain name. 자세한 내용은 How To: Use the Network Service Account to Access Resources in ASP.NET(방법: 네트워크 서비스 계정을 사용하여 ASP.NET의 리소스에 액세스)을 참조하세요.For more information, see How To: Use the Network Service Account to Access Resources in ASP.NET