1. ホーム
  2. sql-server

[解決済み] SQL Server + SQL Server Authentication + Errorにログインできない。18456

2022-06-22 20:44:18

質問

localhostsql2008 サーバーにログインアカウントを作成しました (例: User123)

データベースへのマッピング(デフォルト)

SQL Server の認証モードは両方 (Windows と SQL) に設定されています。

しかし、SQL Server へのログインに失敗し、次のメッセージが表示されます (User123 の場合)。

注:ユーザー名とパスワードが正しく入力されていることを複数回確認しました。

エラーの詳細です。

ユーザ 'User123' のログインに失敗しました。 (Net.SqlClientデータプロバイダ)

サーバー名: localhost³³2008 Error 数:18456 深刻度:14 状態:1 行番号: 65536

この件に関して何か助けがあればお願いします。

どのように解決するのですか?

デフォルトでは、ログイン失敗のエラーメッセージは、ログイン資格情報の不一致のために、クライアントユーザーの接続がサーバーによって拒否されたことにほかなりません。最初のタスクは、そのユーザーが SQL Server インスタンスおよび関連するデータベースで適切な特権を持っているかどうかを確認することです。明らかに、必要な特権が設定されていない場合、そのユーザーのログインに関連する特権を付与することによって、この問題を解決する必要があります。

そのユーザーがデータベースとランプに関連する権限を持っている場合でも、サーバーがそのログインに何らかの資格の問題を検出すると、SQL Server に認証を戻すことができなくなり、クライアントには次のエラーメッセージが表示されます。

Msg 18456, Level 14, State 1, Server <ServerName>, Line 1
Login failed for user '<Name>'

エラーメッセージを見ると、Level & state を理解するための記述がないように感じられます。デフォルトでは、オペレーティング システムのエラーは、ログイン認証の問題の性質に関係なく、「状態」を 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>'.

上記のように、エラーのSeverityとStateの列は、問題の原因を正確に把握するための鍵となります。上記のエラーのうち、8番の状態は、パスワードの不一致による認証の失敗を示しています。書籍オンラインを参照してください。デフォルトでは、深刻度19以下のユーザー定義メッセージは、発生してもMicrosoft Windowsアプリケーションログに送信されません。したがって、深刻度が19より低いユーザー定義メッセージは、SQL Server Agentの警告をトリガーしません。

SQL Server Protocols (Dev.team) のプログラムマネージャーである Sung Lee は、Error state description:The common error states and their descriptions are provided in the following table について、さらなる情報を概説しています。

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 インスタンスのエラーログから、深刻度や状態レベルが定義されていないことがわかります。 したがって、次のトラブルシューティングのオプションは、イベント ビューアーのセキュリティ ログを見ることです [スクリーン ショットがないため編集してください] が、次のようになります。

アイデア、イベント ログで興味深いイベントを探す] です。