web-dev-qa-db-ja.com

SQL Serverログインエラー:ユーザー 'NT AUTHORITY \ SYSTEM'のログインに失敗しました

「schoolPool」というアプリケーションプールを作成し、それをWebアプリケーションに割り当てました。このプールのIDはLocalSystemに設定されています。アプリケーション内からデータベースにアクセスしようとすると、つまりSQL接続を開くと、常に次のエラーが表示されます。

Login failed for user 'NT AUTHORITY\SYSTEM'


NT AUTHORITY/SYSTEMをSSMS(SQL Server Management Studio)ログインに追加しようとしましたが、すでにプリンシパルであり、次のエラーが表示されました。
enter image description here

30
codezombie

アプリケーションプールのID(Windows 8.1のIIS)をLocalSystem、LocalService、NetworkService、およびApplicationPoolIdentityに変更して、アプリケーション設定を大幅に調整しました。しかし、それらはすべて、データベースにログインしていた問題を解決できませんでした。
最後に LocalSystemにプールIDを設定し、それが "NT AUTHRITY\SYSTEM"がデータベースへの接続を開くことを妨げる理由を考えました。 「管理者」としてSQL Server Management Studioを開き、 サーバーの役割 「ログイン」セクションのNT AUTHORITY\SYSTEMの場合。このユーザーのデフォルトのサーバーロールは、デフォルトでpublicでした。 Sysadminもチェックしました Webアプリケーションフォームを更新しました。今回はうまくいきました!すべてが完全に動作するようになりました。

42
codezombie

NT AUTHORITY/SYSTEMにsysadminとしての役割を許可します。 enter image description here

enter image description here

89

「NT SERVICE\MSSQLSERVER」をsysadminに割り当てる次のクエリを再実行します

EXEC master..sp_addsrvrolemember @loginame = N'NT SERVICE\MSSQLSERVER', @rolename = N'sysadmin'
3
arnav

システム管理者を付与するというMusakkhirの答えは、セキュリティに関する限り、十分に考えられていないようです。私は単に「パブリック」権限を付与することで自分でそれを「解決」しました。ログインエラーが解消され、エラーログのフラッディングが停止すると、ログインするようになりますが、接続を実行している不明なプロセスは何もできません。

2
Wayne