App_DataフォルダーにSQL2005Express.mdfデータベースファイルを含むASP.NET3.5アプリがあります。それをFoo.mdfと呼びましょう。ASP.NETアプリは、それ自体で問題なくデータベースに接続できます。ここまでは順調ですね。
次に、サーバーにSql Server Management Studio Expressをインストールして起動すると、ローカルのSQLEXPRESSインスタンスが検出されて接続されますが、データベースのリストにFoo.mdfが表示されません。
そこで、データベースを右クリックして[アタッチ]を選択し、.MDFを見つけて、Foo.mdfをアタッチしてみます。これは漠然としたエラーで失敗します:
CREATE FILE encountered operating system error 32(error not found)
while attempting to open or create the physical file
'C:\inetpub\wwwroot\FooApp\App_Data\Foo.mdf'. (Microsoft SQL Server, Error: 5123)
IISでASP.NETサイトを停止すると、アタッチは機能しますが、ASP.NETアプリを再起動すると、Foo.mdfに接続できません。
したがって、SQL Express 2005では、アプリまたはManagementStudioのいずれかのみが接続できるように見えます。これは本当にくだらないようです-確かにSQLExpressは複数の接続を許可する必要がありますか?通常のSQLServerのように動作することを期待していました。
うまくいけば、私はそれを間違っています。お知らせ下さい。