SQL Server 2008は、新しく作成されたユーザーでログインできません


200

Windows Vistaを使用していますが、新しく作成したユーザーでログインできません。

  1. SQL Server Management Studioを開きます。
  2. Security-> Loginsを右クリックして新しいログインを作成します。
    チェック:SQL Server認証
    ログイン名:テスター
    パスワード:test
    [OK]をクリックします
  3. このユーザーを、選択したデータベースへのユーザーマッピングに追加しました。
  4. [ファイル]-> [オブジェクトエクスプローラーの接続]をクリックし、[SQL Server認証]を選択してtester / testと入力し、[接続]をクリックします。

エラーが発生します:

Login failed for user 'tester'. (Microsoft SQL Server, Error: 18456" 
with Severity = 14 and State = 1.

このエラーの原因と、ユーザーでのログイン方法を教えてください。

回答:


480

SQL Serverは、混合認証を許可するように構成されていません。

修正する手順は次のとおりです。

  1. オブジェクトエクスプローラーのルートにあるSQL Serverインスタンスを右クリックし、[プロパティ]をクリックします。
  2. 左ペインから[セキュリティ]を選択します。
  3. [SQL ServerとWindows認証モード]ラジオボタンを選択し、[OK]をクリックします。

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

  4. SQL Serverインスタンスを右クリックして、[再起動]を選択します(または、サービスを開いてSQL Serverサービスを再起動します)。

これはIBM Connectionsユーザーにとっても非常に役立ちます。この設定を修正するまで、ウィザードは接続できませんでした。


8
問題が解決したことを潜在的なレスポンダーに知らせるため、良いと思います。また、他の開発者が将来自分の答えを見つけるために使用できるドキュメントの増加にも貢献しています。

4
あなた自身の質問に答えることは間違いなく悪くありません。データの数年後でも、あなたの答えは私にとって役に立ちました!
johanvdw 2012

4
私も同じ問題を抱えていました。何時間も解決策を探していました。私がそれを解決するためにできることはすべて試しましたが、起こりませんでした。それから私はこの投稿を見ました。サービスの再起動はまだ試していないものだと思いました。だから私はサービスを再開し、それはうまくいった!それから私は言うためだけにログインしました...
ありがとう

16
ばかげたエラーメッセージに責任があるはずです。「ログインできませんでした。SQLサーバー認証は許可されていません。サーバーはWindows認証のみを許可するように設定されています。連絡してください...」のように言ったとしたら、多くの苦痛を節約できたでしょう。
rpattabi 2013年

5
@トニー興味深い。ありがとう。それでも、セキュリティがユーザビリティを妨げる正当な言い訳であると私は確信していません。メッセージに、ユーザーに問題解決を指示する何かがあった可能性があります。
rpattabi

14

ログインの変更後にSQLデータベースサーバーを再起動していない場合は、必ず再起動してください。 Start-> Programs-> Microsoft SQL Server-> Configuration tools-> SQL Server configuration manager-> Restart Server

ユーザーをサーバーに追加しただけのようです。それらもデータベースに追加する必要があります。database / Security / User / Add New Userを開くか、server / Security / Logins / Properties / User Mappingを開きます。


お知らせいただきありがとうございます。これを行うためにユーザーマッピングを編集したことを忘れていました。
Travis Heseman、2009年

古いスレッドですが、新しいユーザーをデータベースに追加する前に、サーバーに新しいログインを追加する必要がありました。サーバー>セキュリティ>ログイン>右クリック、新規ログインサーバー>データベース>データベースを選択>セキュリティ>ユーザー>右クリック、新規ユーザー。
red_dorian 2018年

2

SQL Serverエラーログを確認して実際の状態を確認する必要がある場合があります(セキュリティ上の理由からクライアントに報告されません)。詳細については、こちらを参照てください。


ありがとう..私はすでにそのページに行ったことがあります。State = 1が実際に意味することについては触れていないことに注意してください。Grr ...しかし、私は今すべて元気です。
Travis Heseman、2009年

ページで説明しているように、SQL Serverエラーログに記録される状態は、ユーザーに報告される状態とは異なります。
GuyBehindtheGuy 2009年

1

管理者としてサーバーにログイン

[セキュリティ]> [ログイン]> [新しいログイン]に移動します

ステップ1:

Login Name : SomeName

ステップ2:

Select  SQL Server / Windows Authentication.

詳細 については、SQLサーバー認証とWindows認証の違いは何ですか?

選択したデフォルトのDBと言語を選択します

OKをクリックします

新しいユーザーの認証情報で接続してみてください。パスワードを変更するように求められます。変更してログイン

または

クエリで試してください:

USE [master] -- Default DB
GO

CREATE LOGIN [Username] WITH PASSWORD=N'123456', DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english], CHECK_EXPIRATION=ON, CHECK_POLICY=ON
GO

--123456 is the Password And Username is Login User 
ALTER LOGIN [Username] enable -- Enable or to Disable User
GO
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.