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'.%.*ls はログインできませんでしたLogin failed for user '%.ls'.%.*ls

説明Explanation

無効なパスワードまたはユーザー名を含む認証の失敗によって接続試行が拒否された場合、クライアントには "ユーザー '<user_name>' はログインできませんでした。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 '<user_name>'. (Microsoft SQL Server、エラー: 18456)" のようなメッセージが返されます。(Microsoft SQL Server, Error: 18456)".

クライアントに返される追加情報には、次のようなものがあります。Additional information returned to the client includes the following:

"ユーザー '<user_name>' はログインできませんでした。"Login failed for user '<user_name>'. (.Net SqlClient Data Provider)"(.Net SqlClient Data Provider)"

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

"サーバー名: <computer_name>""Server Name: <computer_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、サーバー <computer_name>、行 1""Msg 18456, Level 14, State 1, Server <computer_name>, Line 1"

"ユーザー '<user_name>' はログインできませんでした。""Login failed for user '<user_name>'."

エラーに関する追加情報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.

状態State 説明Description
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. このエラーで考えられる原因の 1 つは、Windows ユーザーがローカル管理者グループのメンバーとして 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. 接続するには、[管理者として実行] オプションを使用して接続プログラムを開始してから、その Windows ユーザーを特定のログインとして SQL ServerSQL Server に追加します。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.

エラー状態は他にも存在し、予期しない内部処理エラーを示します。Other error states exist and signify an unexpected internal processing error.

その他の特殊な原因An additional unusual possible cause

エラーの理由として、"SQL 認証を使用したログインに失敗しました。サーバーは、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.

dateDate SourceSource メッセージ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 ユーザー '<user_name>' はログインできませんでした。Login failed for user '<user_name>'. [クライアント: <ip アドレス >][CLIENT: <ip address>]

注意

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: ASP.NET で Network Service アカウントを使用してリソースにアクセスする方法」を参照してください。For more information, see How To: Use the Network Service Account to Access Resources in ASP.NET