错误:无法生成SQL Server的用户实例

Joe*_*nez 28 user-instance sql-server-express visual-studio sql-server-2008-r2

我正在尝试连接到MDF.我甚至完全重新安装了sql server express(它现在是我的盒子上安装的唯一SQL的味道,之前我有05开发和快递).我已经证实路径都是正确的,到目前为止我的google-fu还没有帮助.

完整的异常消息是:

由于启动用户实例的进程失败,无法生成SQL Server的用户实例.连接将被关闭.

连接字符串是:

<add name= "CustomerEntities"
     connectionString="metadata=res://*/Data.CustomerModel.csdl|res://*/Data.CustomerModel.ssdl|res://*/Data.CustomerModel.msl;
     provider=System.Data.SqlClient;
     provider connection string='Data Source=.\SQLEXPRESS;
     AttachDbFilename=\App_Data\CustomerDb.mdf;
     Integrated Security=True;
     User Instance=True'"
     providerName="System.Data.EntityClient" />
Run Code Online (Sandbox Code Playgroud)

附加信息:

我在网上发现的这个错误的几个引用不适用于我.例如,我看到的是尝试通过远程桌面启动用户实例时发生此错误的地方(我在本地执行此操作).虽然另一个人建议它与旧的快速安装中的剩余文件有关...我已经查看了指定的位置而没有找到那些文物.我也尝试过跑sp_configure 'user instances enabled', '1',但它说它已经设置为1.

Joe*_*nez 69

好的,它现在有效!猜测这是一个复合问题...我采取的解决方法是这样的:

  1. 更改了连接字符串中的以下属性(请注意细微差别): AttachDbFilename=|DataDirectory|CustomerDb.mdf;
  2. 删除了以下目录的内容:c:\Users\<user name>\AppData\Local\Microsoft\Microsoft SQL Server Data\SQLEXPRESS.我以为我之前已经找过这个,但我实际上已经查看了该Microsoft Sql Server文件夹.再次,一个微妙的差异.

一旦我做了这两件事,连接开始工作:-D

  • 2号为我修好了. (8认同)
  • 难以置信,Stackoverflow再次获胜.第2部分为我工作. (7认同)
  • 超级棒.这也是我的伎俩!我搜索了几篇文章,不知怎的,他们都错了.重要的部分是用户文件夹中的AppData.谢谢你让我免于疯狂! (2认同)

小智 6

当我将代码从一台机器移动到另一台机器时,我遇到了同样的错误。我正在使用 VS2010 并且 SQLEXPRESS 2008 随之而来。

技巧,删除以下文件夹中的所有内容“C:\Users\UserName\AppData\Local\Microsoft\Microsoft SQL Server Data\SQLEXPRESS”对我有用。


Bor*_*nko 5

即使上面的答案解决了许多人的问题,我仍然发现这些问题的本质不足.最接近它的是@sohaiby上面的答案.但它错误地指的是使用Management Studio.

本主题之上的错误消息非常清楚地表明问题在于生成用户实例.这里详细描述了什么是实例以及如何使用它:https: //msdn.microsoft.com/en-us/library/ms254504(v = vs.110).aspx

就个人而言,我将数据库连接从Windows身份验证模式切换到SQL Server身份验证时遇到此问题.我通过修改连接字符串的一部分来解决它:"User Instance = false;" 而不是"User Instance = true;",它在Windows身份验证中运行良好.

我改为"User Instance = false"后 我的连接工作正常,没有任何额外的操作.我不能坚持认为它会起作用或适用于所有场景.但是,我肯定会建议在上述其他激烈的方法之前尝试它,例如擦除SQL server工作目录.