マイクロソフトのドキュメントはこちら
http://msdn.microsoft.com/en-us/library/h6bb9cz9(v=vs.90).aspx
また、いくつかの SO 記事では、ASP.NET web.config ファイルの sessionState 宣言でallowCustomSqlDatabase="true"を指定すると、デフォルトの ASPState データベースを使用してオーバーライドし、独自のデータベース名を指定できることが示されています。
これらのプロパティを web.config ファイルで設定します。
<sessionState allowCustomSqlDatabase="true" mode="SQLServer" sqlConnectionString="Data Source=mysqlservername;Initial Catalog=DR_ASPState;Integrated Security=true;Connect Timeout=15;" />
デフォルトの Web サイト ページを表示しようとすると、ASPState データベースにアクセスできないことを示すエラー メッセージが表示されます。
SQL プロファイラーを使用して SQL トラフィックを監視したところ、失敗の原因は次の要求であることがわかりました。
SELECT @appId = AppId
FROM [ASPState].dbo.ASPStateTempApplications
WHERE AppName = @appName
アプリケーション プールをリサイクルし、キャッシュされたデータベース名の参照が存在する可能性があるものをフラッシュするために IIS を再起動しましたが、役に立ちません。私の理解では、ASP.NET SessionState は、指定したデータベース名DR_ASPStateを使用して、SessionState データベースへの接続に使用する SQL ステートメントを生成します。しかし、[ASPState]がフレームワークにハードコードされているようです。
誰かが私が間違ったことを見つけたり、これを解決する方法に関する有用なトラブルシューティング情報を提供したりできますか?