1

私は単純な ASP.net MVC アプリケーションを IIS (win 2k8 R2 64 ビットで 7.5) にデプロイし、アプリケーションの使用を開始したときにそのデータベース (ApplicationData と 2 番目のデータベースは自分のデータを含む) を作成しました。データベース (.mdf および .ldf ファイル) は、App_Data フォルダー内に作成されました。

アプリケーションは、エンティティ フレームワーク コード ファースト アプローチを使用します。Web ページを機能させるには、アプリ プールの ID を Network Service に変更する必要がありました。また、この App_Data ディレクトリを手動で作成し、Network Service ユーザーにその内容を変更する権限を割り当てる必要がありました。

今私が得た問題は、Management Studio でこれらのデータベースが表示されないことです (高度なサービスがインストールされた SQL Server 2012 Express を取得しました)。Web ページを長時間使用しない場合は、手動で添付できます。そうしないと、ネットワーク サービス ユーザーの sqlservr.exe プロセスによって .mdf ファイルがロックされます。常に 2 つの sqlservr プロセスを同時に実行していました。1 つは MSSQLsomething ユーザーによって実行され、2 つ目は Network Service によって実行されます。ただし、SQL サーバーのインスタンスは 1 つしかインストールされていません (100% 確実です)。

これらのデータベースが使用されている (sqlservr.exe プロセスによってロックされている) ときでも、Management Studio がそれらのデータベースを認識できない可能性がある理由を誰か説明してもらえますか?

4

1 に答える 1

1

これは、データベースがユーザーインスタンスモードでホストされているため、実際には「公式」データベースサーバーに接続されていないためです。

User Instance=true;その記事では、これが接続文字列で使用して有効になっていることがわかります。オフにするには、を指定しますUser Instance=false;

于 2012-11-30T10:53:55.017 に答える