このエラーは、Web アプリケーションがデータベースにアクセスできないことを意味します。Windows 7 / IIS 7 では、既定で各アプリケーション プールに独自のユーザーがいます。そのWebアプリケーションができることを制限することでセキュリティを向上させるという考えのようです(外部から侵害され制御された場合に備えて)。アプリケーション プールを実行しているユーザーを変更することはできますが、それでは本来の目的が果たせなくなります。より良い方法は、プールのユーザーに必要なアクセス許可を与えることです (それ以上ではありません)。
SQL Management Studio で、Web アプリを接続するサーバーに接続します (SQL サーバー 2008 でテスト済み)。に行く
Security -> Log ins
右クリックして、新規ログインします。表示されるフォームで、ユーザー名以外はすべてデフォルトのままにします。ここでは、Web アプリが使用しようとしているユーザー名を入力する必要があります。この場合は「IIS APPPOOL\MyApplicationName」です。そのダイアログの検索機能は、そのユーザーを見つけたり、有効であるかどうかを確認したりできませんが、それでも機能することに注意してください。
サーバーに接続された SQL Management Studio で、次の場所に移動します。
Databases -> *YOUR-DATABASE* -> Security -> Users
右クリックして新しいユーザー。そこにあるユーザー名フィールドが効果があるかどうかはわかりません。MyApplicationName のように、ユーザー名の最後の部分に設定しただけです。次に、ログイン名を IIS APPPOOL\MyApplicationName に設定しました。... ボタンをクリックして、チェックと検索を使用できます。今回は機能します。前の手順を実行しない場合、ユーザーはここに表示されません。次に、db_datareader など、このユーザーに必要な権限を付与します。
それだけです。あなたは許可を与えました。権限の欠如が問題である場合は、解決する必要があります (少なくとも、私はその方法で解決しました)。
私は、IIS で合計 2 時間、SQL Server で約 3 週間、Microsoft テクノロジで 2 か月未満の経験を持っているので、私のアドバイスを鵜呑みにしないでください。私は完全に間違っている可能性があります。(別の人がこれらの手順が正しいことを確認できる場合は、最後の警告を自由に削除してください)。