我们有一个访问数据库的应用程序(SQL Server 2014企业版)。该应用程序调用存储过程来访问数据库。一切运行良好,直到最近开始发送以下错误并停止应用程序。重新启动应用程序可以暂时解决此问题,但稍后会遇到相同的错误。
错误:从服务器接收结果时发生传输级错误。(提供程序:TCP提供程序,错误:0-指定的网络名称不再可用。)
我进行了很多研究,其中大多数人指出这是网络问题,但找不到任何能真正解决问题的方法。有谁知道我应该在数据库方面进行哪些更改才能解决此问题。我非常感谢任何建议。
我们有一个访问数据库的应用程序(SQL Server 2014企业版)。该应用程序调用存储过程来访问数据库。一切运行良好,直到最近开始发送以下错误并停止应用程序。重新启动应用程序可以暂时解决此问题,但稍后会遇到相同的错误。
错误:从服务器接收结果时发生传输级错误。(提供程序:TCP提供程序,错误:0-指定的网络名称不再可用。)
我进行了很多研究,其中大多数人指出这是网络问题,但找不到任何能真正解决问题的方法。有谁知道我应该在数据库方面进行哪些更改才能解决此问题。我非常感谢任何建议。
Answers:
听起来像DNS解析问题参差不齐或查询长期运行。
用于DNS故障排除
作为创可贴和故障排除工具,可在c:\ windows \ system32 \ drivers \ etc下向应用程序服务器(而非SQL Server)上的hosts文件添加和输入内容
SQLServerIPAddress SQLServerName
例:
172.16.0.5 ProductionSQLBox
这样,主机文件将解析SQL Server名称,直到您发现名称解析发生了什么真正的问题为止。
确保并通过命令行从应用程序服务器ping SQL框来测试hosts文件。或者,使用“控制面板”中的“ ODBC管理器”替代地创建DSN,然后在此处测试连接。
对于长时间运行的查询
为连接到SQL Server的应用程序连接字符串实现更长的命令超时值。
例
<connectionStrings>
<add name="webconfigconnectionString" connectionString="server=SQLServerName;database=dbName;uid=userName;password=ABC123;Timeout=120" />
</connectionStrings>