1

我在 IIS 上部署了一个简单的 ASP.net MVC 应用程序(win 2k8 R2 64 位下的 7.5),当我开始使用该应用程序时,它创建了它的数据库(ApplicationData 和第二个使用我自己的数据)。数据库(.mdf 和 .ldf 文件)是在 App_Data 文件夹中创建的。

应用程序使用实体框架代码优先方法。我必须将应用程序池的身份更改为网络服务才能使网页正常工作。我还必须手动创建此 App_Data 目录并为网络服务用户分配权限以修改其内容。

现在我遇到的问题是我在 Management Studio 中看不到这些数据库(安装了高级服务的 SQL Server 2012 Express)。如果长时间不使用网页,我可以手动附加它们,否则 .mdf 文件会被网络服务用户的 sqlservr.exe 进程锁定。一直以来,我都有两个同时运行的 sqlservr 进程。一个由 MSSQLsomething 用户运行,第二个由网络服务运行。但是,我只安装了一个 SQL 服务器实例(我 100% 确定)。

谁能解释一下,即使在使用这些数据库的时候(被 sqlservr.exe 进程锁定),Management Studio 怎么可能看不到这些数据库?

4

1 回答 1

1

这是因为数据库以用户实例模式托管,因此实际上并未附加到“官方”数据库服务器。

在那篇文章中,您将看到User Instance=true;在连接字符串中启用了此功能。要关闭它,您指定User Instance=false;.

于 2012-11-30T10:53:55.017 回答