我在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用户运行,第二个由Network Service运行。但是,我只安装了一个SQL服务器实例(我100%肯定它)。
有人可以解释一下,即使在使用它们的时候(由sqlservr.exe进程锁定),Management Studio也无法看到这些数据库吗?
答案 0 :(得分:1)
这是因为数据库托管在User Instance Mode中,因此实际上并未附加到“官方”数据库服务器。
在该文章中,您将看到在连接字符串中使用User Instance=true;
启用了此功能。要将其关闭,请指定User Instance=false;
。