错误:无法生成SQL Server的用户实例
-
07-07-2019 - |
题
我正在尝试连接到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" />
其他信息:
我在网上发现的这个错误的几个引用并不适用于我。例如,我看到的是尝试通过远程桌面启动用户实例时发生此错误的地方(我在本地执行此操作)。虽然另一个人建议它与旧的快速安装中的剩余文件有关...我已经查看了指定的位置而没有找到那些文物。我也试过运行sp_configure 'user instances enabled', '1'
,但它说它已经设置为1。
解决方案
- 更改了连接字符串中的以下属性(请注意细微差别):
AttachDbFilename=|DataDirectory|CustomerDb.mdf;
- 删除了以下目录的内容:
c:\Users\<user name>\AppData\Local\Microsoft\Microsoft SQL Server Data\SQLEXPRESS
。之前我以为我曾经找过这个,但我实际上已经查看了Microsoft Sql Server
文件夹。再次,一个微妙的区别。
醇>
一旦我做了这两件事,连接就开始起作用了:-D
其他提示
即使上面的答案解决了许多人的问题,我仍然发现这些问题的本质不足。最接近它的是@sohaiby上面的答案。但它错误地指的是使用Management Studio。
本主题之上的错误消息非常清楚地表明问题在于生成用户实例。这里详细描述了什么是实例以及如何使用它: https://msdn.microsoft.com/en-我们/库/ ms254504(v = vs.110)的.aspx
就个人而言,我在将数据库连接从Windows身份验证模式切换到SQL Server身份验证时遇到了此问题。我只是通过修改连接字符串的一部分来解决它: <!>; User Instance = false; <!> quot; 而不是<!> quot; User Instance = true; <!> “;对于Windows身份验证工作正常。
我改为<!>后;用户实例= false; <!> quot;我的连接工作正常,没有任何额外的操作。我不能坚持认为它会起作用或适用于所有场景。但是,我肯定会建议在上述其他激烈的方法之前尝试它,例如擦除SQL server工作目录。
当我将代码从一台机器移动到另一台机器时,我遇到了同样的错误。我正在使用VS2010和SQLEXPRESS 2008一起使用它。
欺骗,删除以下文件夹中的所有内容<!> C:\ Users \ UserName \ AppData \ Local \ Microsoft \ Microsoft SQL Server Data \ SQLEXPRESS <!> quot;为我工作。
除了这里的其他解决方案,这个也可能有所帮助。 确保应用程序池作为网络服务运行,而不是ApplicationPoolIdentity。
此解决方案可在此处找到: http://blogs.msdn.com/b/webdevelopertips/archive/2010/05/06/tip-106-did-you-know-如何对创建最ASPNETDB-MDF-file.aspx
正如其他人所说,删除目录的内容:c:\ Users \\ AppData \ Local \ Microsoft \ Microsoft SQL Server Data \ SQLEXPRESS为我解决了这个问题。在Windows 7上,从文档浏览器浏览c:\ users \ username目录可以帮助其他人的注释没有显示AppData文件夹,该文件夹让我离开了一段时间(因为我以为我没有AppData目录)直到我发现它确实存在(但是在Windows 7的文档浏览器中没有显示),你只需要输入完整的路径名即可。
我今天早上在测试部署环境中开始收到此错误。我使用的是SQL Server Express 2008,而我得到的错误是
<!>“;由于启动用户实例的进程失败,无法生成SQL Server的用户实例。连接将被关闭。<!>
不确定导致它的原因,我按照这篇文章和其他帖子中的说明进行操作 删除<!>; C:\ Users \ UserName \ AppData \ Local \ Microsoft \ Microsoft SQL Server Data \ SQLEXPRESS <!> quot;目录,但无济于事。
我的诀窍是从
更改连接字符串<!> quot; Data Source =。\ SQLExpress; Initial Catalog = DBFilePath; Integrated Security = SSPI; MultipleActiveResultSets = true <!> quot;
到
<!> quot; Data Source =。\ SQLExpress; Initial Catalog = DBName; Integrated Security = SSPI; MultipleActiveResultSets = true <!> quot;
我在Windows窗体应用程序中使用我的mdf文件解决了这个问题,我只是重新启动计算机,我的问题就解决了。
要解决此问题,请打开SQL Server Management Studio Express。 在查询编辑器中,键入以下文本:
sp_configure 'user instances enabled', 1;
RECONFIGURE
运行它。 然后重新启动SQL Server数据库。
您是否尝试使用SQL Management Studio连接到SQL Server实例?
如果这也不允许你连接那么可能是因为SQL服务没有正确启动。
通过检查控制面板中的服务来验证服务是否正在运行。