SQL Serverへのログインができない+SQL Server認証+エラー。18456
localhost\sql2008サーバーにログインアカウントを作成しました(例:User123)。
データベースにマップされています(デフォルト
SQL Server の Authentication Mode は both (Windows and SQL) に設定されています。
しかし、SQL Serverへのログインに失敗し、以下のメッセージが表示されます(User123の場合)。
注:ユーザー名とパスワードが正しく入力されているか、何度も確認しました。
エラーの詳細。
ユーザー 'User123'のログインに失敗しました。
(Net.SqlClientデータプロバイダー) と表示されました。 サーバー名:localhost\sql2008 エラー内容 番号:18456 深刻度:14 状態:1 行番号 : 65536
宜しくお願いします。
118
3
SQL Server Authenticationを有効にする必要があります。
1.オブジェクトエクスプローラーで、サーバーを右クリックし、「プロパティ」をクリックします。
2.サーバーのプロパティ]ウィンドウで、左側のページ一覧から[セキュリティ]をクリックします。Server Authentication"の項目で、"SQL Server and Windows Authentication mode"のラジオオプションを選択します。
3.SQLEXPRESSサービスを再起動します。
デフォルトのログイン失敗エラーメッセージは、ログイン資格情報の不一致のためにクライアントユーザーの接続がサーバーによって拒否されたことに他なりません。最初に確認することは、そのユーザーがSQL Serverインスタンスと関連するデータベースに対して関連する権限を持っているかどうかですが、これは良いことです。明らかに必要な権限が設定されていない場合は、そのユーザーのログインに関連する権限を与えて問題を解決する必要があります。
そのユーザーがデータベースとサーバーに関連した権限を持っていても、サーバーがそのログインのための認証問題に遭遇すると、SQL Serverに認証を返すことができなくなり、クライアントは以下のエラーメッセージを受け取ります。
Ok now what, エラーメッセージを見ると、レベル&の状態を理解するには説明不足のように感じます。デフォルトでは、オペレーティング・システム・エラーは、ログインの認証に関する問題の性質にかかわらず、 'State'を1として表示します。そのため、さらに調査するには、このエラーの深刻度と状態の詳細について、関連するSQL Serverインスタンスのエラーログを調べる必要があります。ログの対応するエントリを見てみましょう。
上記で定義したように、エラーの重大度と状態の列は、問題の原因を正確に把握するための鍵となります。上記のエラー番号8の状態は、パスワードの不一致による認証失敗を示しています。オンライン書籍を参照してください。デフォルトでは、重大度が19未満のユーザー定義メッセージは、発生してもMicrosoft Windowsアプリケーションログには送信されません。そのため、重大度が19未満のユーザー定義メッセージは、SQL Server Agentの警告を引き起こしません。
SQL Server Protocols (Dev.team)のプログラムマネージャーであるSung Lee氏は、エラー状態の説明について次のように説明しています:一般的なエラー状態とその説明を次の表に示します。
そのSQL Serverインスタンスのエラーログからは、深刻度や状態のレベルが定義されていないことがわかります。 次のトラブルシューティングのオプションは、イベントビューアのセキュリティログを見ることです[スクリーンショットがないので編集しますが、以下のことがわかります]。
興味深いイベントのイベントログを見てみましょう]。
私も同じ問題が発生しましたが、私の場合はサーバー認証を"SQL Server and Windows Authentication mode"に設定していなかったためでした(あなたは設定していました)。
これには以下の方法でアクセスできます。