从IIS Express移动到本地IIS后,无法使用SQL server(LocalDB)

从IIS Express移动到本地IIS后,无法使用SQL server(LocalDB),iis,database-connection,sql-server-express,Iis,Database Connection,Sql Server Express,当我在本地IIS而不是嵌入式IIS express下运行我的网站时,我在访问数据库(app_data中的mdf文件)时遇到以下错误 运行时发生与网络相关或特定于实例的错误 正在建立与SQL Server的连接。找不到服务器,或者 无法访问。验证实例名称是否正确,以及 SQL Server配置为允许远程连接。(提供程序:SQL) 网络接口,错误:26-定位服务器/实例时出错 (指定) 此处显示连接字符串: Data Source=(LocalDB)\v11.0;AttachDbFilename=C

当我在本地IIS而不是嵌入式IIS express下运行我的网站时,我在访问数据库(app_data中的mdf文件)时遇到以下错误

运行时发生与网络相关或特定于实例的错误 正在建立与SQL Server的连接。找不到服务器,或者 无法访问。验证实例名称是否正确,以及 SQL Server配置为允许远程连接。(提供程序:SQL) 网络接口,错误:26-定位服务器/实例时出错 (指定)

此处显示连接字符串:

Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\Sources\Local\WebApplication1\WebApplication1\App_Data\aspnet-WebApplication1-20140226022052.mdf;Integrated Security=True
从Visual Studio和IIS Express,我可以连接到该数据库:

但问题是我需要从另一台计算机访问已部署的应用程序,而IIS Express不允许远程连接。这就是我被迫使用本地IIS的原因


谢谢你的建议

您可能需要双倍逃离\

“数据源=(LocalDB)\v11.0;集成安全性=true”


如果您使用的是EntityFramework,请尝试将其放在App.config上,对我有用


这些链接可能会提供一个答案:


有两件事可以尝试:

  • 以的格式提供连接字符串,例如
  • 在IIS上,右键单击相关的应用程序池,然后转到高级设置,然后将“加载用户配置文件”设置为true。 根据我的经验,这并没有改变任何东西,因此我必须在C:\Windows\System32\inetsrv\config中的applicationHost.config文件中手动执行此操作。具体而言,请确保“loadUserProfile”和“setProfileEnvironment”属性设置为true:
  • 
    ..
    ..
    
    或者,您可以尝试在应用程序池下更改身份 高级设置从ApplicationPoolIdentity本地系统

  • 在完成其中一项操作后,您将有望不再出现此错误,但您可能会发现应用程序的行为就像数据库中没有数据一样。这是因为与SQLExpress或SQL Server不同,LocalDB作为特定于用户的进程运行。因此,您可能需要为当前数据库用户为数据库设定种子(取决于所使用的应用程序池/标识)

  • 你解决过这个问题吗?如果是的话,你能提供一个答案吗?你找到什么解决办法了吗。我正为同一个问题苦苦挣扎
      Data Source=(LocalDb)\MSSQLLocalDB;Initial Catalog=aspnet-WebApplication;Integrated Security=SSPI
    
        <applicationPools>
            ..
            <add name="MyAppPool" autoStart="true" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated">
               <processModel identityType="ApplicationPoolIdentity" loadUserProfile="true" setProfileEnvironment="true" />
            </add>
            ..
        <applicationPools>