Sql server 当IIS正在运行时,无法使用SSMS访问LocalDB

Sql server 当IIS正在运行时,无法使用SSMS访问LocalDB,sql-server,Sql Server,我有一个运行在IIS 7.5上的网站应用程序,可以访问LocalDb,所有这些都安装在同一台服务器上 使用SSMS,我可以在对象资源管理器中看到app db文件夹,但是当我尝试展开它时,我得到一个错误,说数据库不可访问。如果我在IIS中停止网站,那么我可以访问它 当客户端访问web应用程序时,是否有一种方法可以同时处理SSMS中的数据库 我使用Windows身份验证以管理员身份登录SSMS。web应用程序使用ApplicationPoolIdentity以“IIS AppPool\AutoPar

我有一个运行在IIS 7.5上的网站应用程序,可以访问LocalDb,所有这些都安装在同一台服务器上

使用SSMS,我可以在对象资源管理器中看到app db文件夹,但是当我尝试展开它时,我得到一个错误,说数据库不可访问。如果我在IIS中停止网站,那么我可以访问它

当客户端访问web应用程序时,是否有一种方法可以同时处理SSMS中的数据库

我使用Windows身份验证以管理员身份登录SSMS。web应用程序使用ApplicationPoolIdentity以“IIS AppPool\AutoParkDemo”身份登录

      <connectionStrings>
   <clear />
   <add name="AutoPark" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=AutoParkDemo;AttachDbFilename=C:\AutoPark\Demo\Data\AutoParkDemo.mdf;Integrated Security=true" providerName="System.Data.SqlClient" />
  </connectionStrings>

IIS服务器需要以独占方式访问本地db文件,这是您无法使用SSMS访问数据库的主要原因

理论上,当IIS在后台运行时,您可以对本地数据库进行只读访问。我经常使用VisualStudio和IIS,并且我可以在web服务器运行时访问本地数据库


我相信SSMS需要写访问权限才能与本地db一起工作。这可能是VS可以读取而SSM不能读取的原因

我发现,同时访问LocalDB的每个应用程序都必须有自己的共享实例。在微软网站上有一个很好的关于它的教程,但问题是如果没有活动,共享实例就会停止,尽管我在微软网站上读到它会自动重新启动,但我没有这样做。在苦苦挣扎了几周之后,我决定使用这个网站上其他帖子的建议:当部署到带有IIS的网站时,使用SQLExpress。现在它工作得很好

我在这里找到了答案: