登录前握手期间的SqlException

时间:2011-10-06 05:50:20

标签: .net sql-server entity-framework ado.net database-connection

我将SQL Server数据库从本地移植到生产环境,并在连接期间突然遇到以下错误

System.Data.SqlClient.SqlException: 
A connection was successfully established with the server, 
but then an error occurred during the pre-login handshake. 
(provider: SSL Provider, error: 0 - A system shutdown is in progress.)

但实体框架连接字符串没有什么特别之处:

... connectionString="metadata=res://*/EF.DataBaseModel.csdl|res://*/EF.DataBaseModel.ssdl|res://*/EF.DataBaseModel.msl;
provider=System.Data.SqlClient;
provider connection string='data source=server-ip\SQLEXPRESS2008R2;initial catalog=db;user id=user;password=password;multipleactiveresultsets=True;App=EntityFramework'"
    providerName="System.Data.EntityClient" />

这里有什么不对? 先感谢您!

2 个答案:

答案 0 :(得分:2)

请看这里:http://social.msdn.microsoft.com/Forums/eu/sqlsecurity/thread/3d027059-7457-4671-94f9-008b10013fde

  

我发现此错误与数据库群集故障转移有关。转到故障转移群集管理器并检查群集事件/错误。您应该能够看到故障转移的确切时间(即使该消息仅显示“发生意外故障转移”

答案 1 :(得分:0)

我发现了完全相同的错误,但与@Dalex帖子相反,环境只有2个客户端计算机和1个单独的Sql Server。没有集群。

客户端计算机运行可以获取到不同数据库的多个连接的作业。当许多工作同时启动时,此错误会在某些时候发生。

我还发现链接http://social.msdn.microsoft.com/Forums/eu/sqlsecurity/thread/3d027059-7457-4671-94f9-008b10013fde很有用。在我的情况下,我尝试尽可能通过重复使用帖子中解释的连接来缓解问题。 遗憾的是,无法在并行运行的部分作业中重用连接。