本帖最后由 Fergal1204653510 于 2014-01-25 15:30:13 编辑

解决方案 »

  1.   


    分析其主要原因是“连接断开”,以下列出几种相关原因案例:1、网络未连接,或者在连接的时候断网;2、连接实例的时候sqlserver突然断了,比如你在使用的时候sqlserver服务不正常关闭等。3、数据库有异常,比如数据库处于“警告”等的状态,或者数据库处于受限访问状态。也会无法访问,这种情况比较常见。
      

  2.   

    另外,试试如下的解决方法:重启数据库服务器 以及 数据库的sqlserver服务,并确保数据库链接字符串的正确有效,保持链接畅通
      

  3.   

    之前在论坛,也有几次有网友遇到这类问题。传输级错误,就是Tds类错误,也就是表格数据流协议,是建立在TCP/IP Net-Library之上的,包含在TCP数据段内。TDS用1433端口进行数据库通信。
    TDS客户端使用称为表格格式数据流 (TDS) 的 SQL Server 专用应用程序级协议来发送 SQL 语句。大致的过程:

    数据包由用于 SQL Server 的 Microsoft OLE DB 提供程序、SQL Server ODBC 驱动程序或 DB-Library DLL 生成。TDS 数据包然后被传递给 SQL Server 客户端 Net-Library,客户端 Net-Library 将 TDS 数据包封装为网络协议数据包。
    在服务器上,服务器 Net-Library 接收网络协议数据包,且析取 TDS 数据包并将其传递给关系数据库服务器。在将结果返回给客户端时,这一进程反向执行。
    从上面也可以看出,这个应该是属于sql server底层所使用的一种通信协议,这里涉及到了:sql server的进程、网络、net-library,所以:如果一旦网络有不稳定或者断网了,异或,sql server进程出现了问题,再或者这个net-library有bug,那么可能就会导致这个传输级错误了。从返回的错误信息中:
    在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
       在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
    应该是数据库连接也有问题,所以就很有可能是断网了,或者网络很不稳定导致的。
      

  4.   

    在没有深入研究你这个问题之前,先说说我常见的问题,上次搞镜像(sqlserver高可用之一),报错就类似这个,问了一下网管,由于是金融系统,需要符合PCI认证要求,所以网络做了一定程度的限制,最后我把hosts文件改了一下就可以用了。按照你的情景,应该是程序认不到你的sqlserver服务所在的机器名或者sqlserver实例名