我在Windows 8上运行了一个.net wpf应用程序。 8.1使用SQL Server 2014 Express。
以下错误不断回来(通常在重启后):
System.Data.Entity.Core.EntityException:底层提供程序在Open上失败。 ---> System.Data.SqlClient.SqlException:由于启动用户实例的进程失败,无法生成SQL Server的用户实例。连接将被关闭。 在System.Data.SqlClient.SqlInternalConnection.OnError(SqlException异常,Boolean breakConnection,Action`1 wrapCloseInAction)
我查看了以下类似帖子:
System.Data.SqlClient.SqlException: Failed to generate a user instance of SQL Server
我已将服务运行的用户更改为本地系统。
我编写了一个脚本,阻止SQLExpress2014
服务删除C:\Documents and Settings\{YOUR_USERNAME}\Local Settings\Application Data\Microsoft\Microsoft SQL Server Data\{SQL_INSTANCE_NAME}
文件夹下的所有文件,然后重新启动该服务。
运行该脚本会暂时修复该问题,但在重新启动后通常会再次发生,需要重新运行该脚本。
以下是我的应用程序连接字符串:
metadata=res://*/Models.###.csdl|res://*/Models.###.ssdl|res://*/Models.###.msl;provider=System.Data.SqlClient;provider connection string="data source=.\SQLEXPRESS2014;AttachDbFilename=|DataDirectory|\###.mdf;Database=###;integrated security=True;multipleactiveresultsets=True;User Instance=True;application name=EntityFramework"
我是否还需要采取其他措施来防止此错误?
答案 0 :(得分:0)
经过大量测试并且无法解决问题后,我决定关闭"用户实例"并首先解决原因所在的遗留原因。
这可能是一个很好的举措,因为已弃用用户实例功能而支持LocalDB: