Microsoft SQL Serverエラーへのログイン:18456


295

SQL Serverに接続しようとすると、このエラーが発生します。

Microsoft SQL Serverエラー:18456

誰かがエラーコードの意味を教えてもらえますか?


6
大まかな検索は、エラーコードがログインの失敗であることを示しているようであり、一般的にはより詳細な情報が付随しています。
David

そして、そのより詳細な情報は、SQLサーバーのエラーログにあるはずです。数自体は意図的に多くを伝えていませんので、クラッカーは彼らの試みがどこで間違っているかについての手がかりとしてそれを使うことができません。
トニーホプキンソン2014年


1
私はちょうどしなければなりませんでしたrun as administrator
Jacksonkr

:ちょうどこのソリューションをチェックstackoverflow.com/questions/41386538/...
AkashさんシンSengar

回答:


706

「SQLサーバー認証」を使用して接続しようとしている場合は、サーバー認証を変更できます。

オブジェクトエクスプローラーのMicrosoft SQL Server Management Studio内:

  1. サーバーを右クリックして、 Properties

  2. Securityページに移動します

  3. 以下の下では、Server authentication選択したSQL Server and Windows Authentication modeラジオボタンを

  4. クリック OK

  5. SQLサービスを再起動します。


32
ありがとう。ユーザーを追加しようとしたときに警告メッセージが表示されないのは残念です。
JohnnyBizzle 2015

12
「右クリックサーバーとクリックプロパティ」とはどういう意味ですか?
emcor 2015

9
彼は、オブジェクトエクスプローラーの一番上のノードを意味します
JGilmartin

21
これは、人々が遭遇する非常に一般的な問題です。この単純な設定がオフになっていることに気付かずにSQL Serverログインを心のコンテンツに作成できるという事実は、IMOをやや混乱させています。正解としてこれをお勧めします。

7
@JGilmartin、接続できないというエラー18456が発生した場合、オブジェクトエクスプローラーでサーバーに正確にどのように接続できますか?
Shai Alon 2017

69

データプラットフォームチームのブログ記事をご覧ください。

http://blogs.msdn.com/b/sql_protocols/archive/2006/02/21/536201.aspx

問題の根本的な原因を見つけるには、エラーメッセージの状態部分を実際に確認する必要があります。

2, 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, 12 = Valid login but server access failure
13 = SQL Server service paused
18 = Change password required

その後、Googleは問題を修正する方法。


42
私自身のホーンをプープーするために、私はコンパイルされているわけではありませんたくさんここでより多くの情報:sqlblog.com/blogs/aaron_bertrand/archive/2011/01/14/...
アーロン・ベルトラン

あなたはいつもホーンを鳴らしています...賛成票をありがとう?しかし、あなたのリストはより完全なようです!ほとんどの人はGoogleの使い方を知らないと思います。
CRAFTY DBA、2014

1
私は賛成票を投じようと誘惑されましたが、Googleが答えることのできる質問に答えることは、人々が検索する代わりにここで尋ね続けることを奨励するだけなので引き裂かれました...
アーロンベルトラン14年

13
ここの質問の99%はおそらくGoogleで回答できますが、単純で単純な質問と回答は検索時間を大幅に節約し、しばしば余分な記事/ブログに注ぐため、私から1票の投票が行われます。
Chris Nevill、2014年

12
ここで私はグーグルを使用するときに答えを見つけるところです(グーグルはSOを検索するよりもSOを検索する方がいいです...)
Cos Callis

27

開く前に、右クリックして「管理者として実行」を選択します。これで問題は解決しました。


1
これは私にとっての修正でした。私が持っていたState: 1エラーメッセージに。
GraehamF 2016年

@Gsicあなたは本当の救世主です。私は1日以上も苦労しており、あなたのソリューションはそれを解決しました。ありがとう
カーシック2018年

何を開く前に??
Mike

11

「状態」が「1」の場合、最初にエラーの詳細を確認します。SQLサーバー/プロパティ/セキュリティで、SQLとWindowsの両方の認証用にデータベースが設定されていることを確認します。

他の州については、上記の回答を参照してください....


1
OMGありがとう!どのログインも機能していなかったため、この回答を偶然見つけましたが、SQL Expressのインスタンスが「SQLおよびWindows認証」から「Windows認証」に変更されたことがわかりました。それを元に戻し、すべて動作します。
Ian Kemp

1
また、SSMSを閉じるだけでは不十分です。変更を有効にするには、SqlServerサービスを再起動する必要があります。
Ravid Goldenberg 2016

10

私はこの問題に直面しました。

添付画像をご覧ください、

手順1:サーバープロパティに移動する

ステップ2:セキュリティに移動

手順3:SQLサーバーおよびWindowsAuthenicationモードとしてサーバー認証を変更する

Sqlサーバーを再起動します。

ここに画像の説明を入力してください


9
  1. サーバー->プロパティで混合モード認証が有効になっているかどうかを確認します
  2. 次に、server-> securityにログインを作成します
  3. データベースにそのログイン用のユーザーを作成する
  4. 次に、インスタンスを右クリックしてサーバーを再起動し、再起動を選択します

5

ちょうど私に起こり、ここにリストされている他のすべてのケースとは異なることがわかりました。

たまたま同じクラスターで2つの仮想サーバーをホストし、それぞれに独自のIPアドレスを割り当てています。ホストは、サーバーの1つをSQL Serverとして構成し、もう1つをWebサーバーとして構成しました。ただし、SQL Serverがインストールされ、両方で実行されています。ホストは、どのサーバーがSQLでどのサーバーがWebであるかを忘れてしまったため、最初のサーバーはWeb、2番目のサーバーはSQLであると想定しました。

SQL Serverに(私が思っていた)SQL Serverに接続し、SSMS経由で接続しようとすると、Windows認証を選択したときに、この質問で述べたエラーが発生しました。たくさんの髪を引っ張った後、SQL Serverネットワーク構成、MSSQLSERVERのプロトコルなど、すべての設定を調べました。

TCP / IP構成のスクリーンショット

TCP / IPをダブルクリックすると、次のようになりました。

TCP / IPプロパティ、誤ったIPアドレスを表示

IPアドレスは他の仮想サーバーのものでした!これでようやく、サーバー間で単純に混乱したことに気づき、すべてが2番目のサーバーでうまく機能しました。


4

ログインユーザーの資格情報を変更するか、新しいログインユーザーを追加する場合は、ログインする必要がある後、SQL Serverサービスを再起動する必要があります。そのために

移動->サービス 灰色の列

次にSQL Server(MSSQLSERVER)に移動し、停止して再起動します

ログインしてみてください。

ありがとう


3

18456エラー状態リスト

エラー状態エラーの説明

  • 状態2および状態5無効なユーザーID
  • 状態6 SQL認証でWindowsログイン名を使用しようとしています
  • 状態7ログインが無効でパスワードが一致しない
  • 状態8パスワードの不一致
  • 状態9無効なパスワード
  • 状態11と状態12は有効なログインですが、サーバーアクセスに失敗しました
  • 状態13 SQL Serverサービスが一時停止されました
  • 状態18パスワードの変更が必要

考えられる原因以下は、理由のリストと、何をすべきかについての簡単な説明です。

SQL認証が有効になっていません:SQL Serverインスタンスで初めてSQLログインを使用すると、サーバーがWindows認証モード(のみ)に設定されている可能性があるため、エラー18456が発生することがよくあります。

修正するには?このSQL ServerとWindows認証モードのページを確認してください。

無効なユーザーID: SQL Serverは、取得しようとしているサーバー上で指定されたユーザーIDを見つけることができません。最も一般的な原因は、このユーザーIDにサーバーへのアクセスが許可されていないことですが、これも単純なタイプミスであるか、誤って別のサーバーに接続しようとしている可能性があります(複数のサーバーを使用している場合は通常)

無効なパスワード:間違ったパスワードまたは単なるタイプミス。このユーザー名は、サーバーごとに異なるパスワードを設定できることに注意してください。

あまり一般的ではないエラー:サーバーでユーザーIDが無効になっている可能性があります。SQLログイン用にWindowsログインが提供されました(Windows認証への変更。SSMSを使用する場合、このオプションを使用するには別のユーザーとして実行する必要がある場合があります)。パスワードの有効期限が切れている可能性があり、おそらく他のいくつかの理由…。他にご存知の場合はお知らせください。

18456状態1の説明:通常、Microsoft SQL Serverはエラー状態1を表示しますが、これは実際には18456エラーがあること以外には何も意味しません。状態1は、システムを保護するために実際の状態を非表示にするために使用されます。以下は、すべての異なる状態のリストです。正確な状態を取得する方法の詳細については、SQL Server 2005の「ログイン失敗」(エラー18456)エラーメッセージについてを参照してください。

それが役に立てば幸い


2

ユーザーを右クリックし、プロパティに移動して、デフォルトのデータベースをマスターに変更します。これは、エラー19456があるかどうかを確認する必要があるものを示す画像のスクリーンプリントです。場合によっては、ユーザーが持っていないデータベースがデフォルトになります許可


2

まず、スタートバーに移動してローカルサービスを検索し、[ローカルサービスの表示]をクリックしてから、サービスウィンドウを開き、SQL Server(MSSQLSERVER)に移動して右クリックし、停止をクリックしてから、もう一度右クリックして[開始]をクリックします。これで、ログインしてユーザー名を 'sa'にでき、パスワードは獲得したパスワードになります。



1

これがドメインメンバーのPCである場合は、ネットワークに接続されているかどうかを確認してください。また、ネットワークメトリックが原因でルートが正しくない可能性があるため、デュアルホームPCを使用していないことを確認してください。SQL Windows認証がローカルPCアカウントに切り替えたドメインに接続できず、SQL認証として登録したときに、この問題が発生しました。ワイヤレスアダプターを無効にして再起動すると、Windows統合はドメインアカウントに戻り、正常に認証されました。以前と同じように、すでに混合モードを設定しているため、以前の投稿は適用されません。


1

私にとって、それは間違ったログインとパスワードでした。


0

これは、Active Directoryで定義されているユーザーでログインしようとしているが、ログイン画面で「SQL Server認証」を使用しようとすると発生する可能性があると思います。NTLM / Windows認証で別のユーザーを指定する方法がわかりません。Windows認証ドロップダウンをクリックすると、ユーザー名とパスワードが空白になり、自分自身としてのみログインできます。


0

私の場合、複数の間違った試みがアカウントをロックしました。これを行うには、以下のクエリを実行してみましたが、正常に機能しました。 SQL Server->プロパティを右クリックします。


0

SQL Server接続のトラブルシューティング

SQL認証に接続できず、他のソリューションを試した場合。

以下を試すことができます:

接続を確認する

  • ファイアウォールを無効にします。
  • 1434でPortQryを実行し、答えを確認します。

状態を確認する

  • SSMSまたはsqlcmdで接続してメッセージを確認してください。
  • 状態1はめったに文書化されませんが、それはあなたが真の状態を知る権利を持っていないことを意味します。
  • SQLサーバーのディレクトリにあるログファイルを見て、状態を確認します。

国家5

何 ?私のログインは存在しませんか?そこにあります。SSMSで確認できます。それはどうですか?

最も可能性の高い説明は、正しいものである可能性が最も高いです。

ログインの状態

  • 破壊、再作成、有効化します。
  • パスワードをリセットします。

または...

「あなたは正しい場所を見ない」または「あなたが見るものはあなたが考えるものではない」。

ローカルDBとSQLEXPRESSの競合

Windows認証を使用してSSMSに接続し、インスタンスの名前がSQLEXPRESSである場合、おそらく正しいサーバーではなくLocalDbを参照しています。LocalDbにログインを作成しました。

SSMSでSQL Server認証を介して接続すると、最愛のログインがまだ存在しないSQLEXPRESS実サーバーに接続しようとします。

追記:奇妙な接続文字列を忘れていない場合は、接続パラメータータブを確認してください。



0

私にとってもう1つの有効な解決策。 serever->security->logins->new logins->General->ログイン名としてユーザー名を作成し、SQLサーバー認証をクリックしてパスワードを追加する

パスワード検証のチェックボックスをオフにします。これは機能します。

サーバーのプロパティを変更することを忘れないでください->セキュリティをServer authenticationからSQL Server and Windows Authentication mode


0

あなたはLinuxでmssqlのためにsaアカウントのパスワードを変更することができます

sudo / opt / mssql / bin / mssql-conf setup

The license terms for this product can be downloaded from
 http://go.microsoft.com/fwlink/?LinkId=746388 Jump Jump
and found in /usr/share/doc/mssql-server/LICENSE.TXT.
Do you accept the license terms? [Yes/No]:yes
  Setting up Microsoft SQL Server
Enter the new SQL Server system administrator password:  --Enter strong password
Confirm the new SQL Server system administrator password: --Enter strong password
 starting Microsoft SQL Server...
 Enabling Microsoft SQL Server to run at boot...
Setup completed successfully.

0

SQLインスタンスの下に新しいsysadminユーザーを作成した後、このエラーが発生しました。私の管理者ユーザーは、特定のドメインMyOrganization / useradminの下に作成されました

切断された環境でuseradminを使用すると、SQL Server認証を使用して他のユーザーを作成できますが、ログインしようとするとすぐに

Microsoft SQL Serverエラー:18456

問題を解決するには、組織ネットワークに再度接続して、接続中にユーザーを作成してください。そうすると、切断されて機能します。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.