System.Data.SqlClient.SqlException:无法生成SQL Server的用户实例

时间:2008-08-18 05:24:48

标签: .net sql-server ado.net

System.Data.SqlClient.SqlException: Failed to generate a user instance of SQL Server due to a failure in starting the process for the user instance. The connection will be closed.

是否有人收到此错误和/或对其原因和/或解决方案有任何想法?

This link may have relevant information.

更新

连接字符串为=.\SQLEXPRESS;AttachDbFilename=C:\temp\HelloWorldTest.mdf;Integrated Security=True

建议User Instance=false工作。

5 个答案:

答案 0 :(得分:11)

以下是您的问题的答案:

旧用户实例通常会创建一些临时文件,以防止创建新的SQL Express用户实例。删除这些文件后,一切都会正常运行。

首先确认通过在SQL Server Management Studio中运行以下SQL来启用用户实例:

exec sp_configure 'user instances enabled', 1.
GO
Reconfigure

运行查询后,重新启动SQL Server实例。现在删除以下文件夹:

C:\Documents and Settings\{YOUR_USERNAME}\Local Settings\Application Data\Microsoft\Microsoft SQL Server Data\{SQL_INSTANCE_NAME}

确保使用适当的名称替换{YOUR_USERNAME}{SQL_INSTANCE_NAME}

来源:Fix error "Failed to generate a user instance of SQL Server due to a failure in starting the process for the user instance."

答案 1 :(得分:2)

您应该在连接字符串中添加显式的User Instance = true / false

答案 2 :(得分:0)

我今天早上在测试部署环境中开始收到此错误。我使用的是SQL Server Express 2008,而我得到的错误是

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

不确定导致它的原因,我按照这篇文章和其他帖子中的说明删除了“C:\ Users \ UserName \ AppData \ Local \ Microsoft \ Microsoft SQL Server Data \ SQLEXPRESS”目录,但无济于事

我的诀窍是从

更改连接字符串

“Data Source =。\ SQLExpress; Initial Catalog = DBFilePath ; Integrated Security = SSPI; MultipleActiveResultSets = true”

“Data Source =。\ SQLExpress; Initial Catalog = DBName ; Integrated Security = SSPI; MultipleActiveResultSets = true”

答案 3 :(得分:0)

我遵循了所有这些步骤,但也必须进入

  1. 控制面板>管理工具>服务
  2. 右键单击SQL Server(SQLEXPRESS)
  3. 选择“登录”选项卡
  4. 选择“本地系统”帐户,然后单击“确定”
  5. 问题解决了......谢谢

答案 4 :(得分:0)

我有Windows 8,我测试了解决方案

  1. 启用用户实例
    exec sp_configure'用户实例已启用',1 GO
    重新配置

  2. 重新启动SQL Server实例。

  3. 删除文件夹: C:\Users\Arabic\{YOUR_USERNAME}\Local\Microsoft\Microsoft SQL Server Data
    将{YOUR_USERNAME}替换为相应的名称。

  4. 来自Roboblob的消息来源