ASP.NET 4 に Web サイトがあり、SQL Server 2008 R2 に並列処理で接続する必要があります. IIS 7 と Windows 認証も使用します.Parallel.Foreach
式を使用します.いくつかの検索の後、アプリケーション プールのプロセス モデル ID を から に変更する必要があることがわかりました。Foreach
Parallel.Foreach
Login failed for user: 'IIS APPPOOL\\MyAppPool'.
ApplicationPoolIdentity
LocalSystem
または、特定のユーザーを追加できます。
しかし、最後のものは適切な解決策ではありません。
だから私はそれを変更したSQL SPをチェックインし、次の行を追加します:
次に、結果は次のとおりです。foreach
(並列処理なしを意味する)を使用すると、登録されたすべてのユーザーがMyLoginUser
(Parallel.foreach
And LocalSystem
Identity)を使用すると、最初に登録されたユーザーはMyLoginUser
になり、他のユーザーはNT Authority System
.
また、 Parallel Impersonationを見つけましたが、どちらも機能せず、同じエラーが発生しました。
私が理解しているようにMyLoginUser
、Multi Connect to sql へのアクセス許可がありません。私は正しいですか?
はいの場合、このユーザーに権限を追加するにはどうすればよいですか?
最後に、Parallelism を使用して SQL に接続ApplicationPoolIdentity
しようとします。MyLoginUser
誰にも何か提案はありますか?
アップデート:
データベースへの最初の接続はMyLoginUser
、ASP.NETがさらに接続を試みてApplicationPoolにこれを実行させることであることがわかりましたが、許可がないためアプリケーションプールはログインできず、許可したくないので、唯一のユーザーができました接続する必要がありますmyloginuser
。
したがって、質問は次のようになります。
IISまたはASP.NETを使用してmyloginuser
(最初のユーザーと同じ)、db へのすべての接続 (並列接続でも) に接続する方法を教えてください。