ASP.NET v3.5 WebアプリケーションがSQL Serverへの接続を開こうとすると、次の例外がスローされます。 2008データベース:ASP.NETとSQL Server 2008のユーザー 'NT AUTHORITY IUSR'でエラーが発生しました
System.Data.SqlClient.SqlException: が開いているデータベース "MyDbNameは" ログインで要求することはできません。ログイン が失敗しました。ユーザー 'NT AUTHORITY \ IUSR'のログインに失敗しました。
私は、サーバのログインリストとデータベースのユーザリストにNT AUTHORITY\IUSR
を追加しました。サーバーの場合、ユーザーにPublicロールを付与し、データベースに対してはdb_datareader
のアクセス許可を付与しました。
NT AUTHORITY\NETWORK SERVICE
についても同じことを許可しました。これは、アプリケーションプールが実行されているIDです。
ウェブアプリケーションは、違いがある場合はIIS7によってホストされます。この問題は、DBとIISが同じ物理マシン上にあるときに表示されます。
を使用し、私はちょうどそれが同じボックス上のすべての作業でしょうかどうかを確認するためにテストしていた - 生産では、トポロジーが最善と記載されています広がっている。とにかく、あなたはそれを釘付けにしました - 私はmachineName $の権限を追加しなければなりませんでした。ありがとうございました! –
これを同様に追加したいだけで、IIS 6.0のWebサイト - >プロパティ - >ディレクトリセキュリティ - >編集(認証)のIUSR_MACHINENAMEにあるIUSERユーザーのアクセス許可を作成してこの問題を解決しました。 – shawad
MachineName $ in VS –