指定的网络名称不再可用


10

我们有一个访问数据库的应用程序(SQL Server 2014企业版)。该应用程序调用存储过程来访问数据库。一切运行良好,直到最近开始发送以下错误并停止应用程序。重新启动应用程序可以暂时解决此问题,但稍后会遇到相同的错误。

错误:从服务器接收结果时发生传输级错误。(提供程序:TCP提供程序,错误:0-指定的网络名称不再可用。)

我进行了很多研究,其中大多数人指出这是网络问题,但找不到任何能真正解决问题的方法。有谁知道我应该在数据库方面进行哪些更改才能解决此问题。我非常感谢任何建议。

Answers:


8

听起来像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=u‌​serName;password=ABC‌​123;Timeout=120" />
</connectionStrings>

6

这不是数据库问题。数据库方面没有任何可以解决此问题的更改。此错误是由高网络带宽或您的应用程序中的错误引起的。我建议您将此错误转发给公司的Wintel / Network团队。他们可以更改网络交换机或管理网络带宽来停止此错误。


3

这看起来像一个应用程序问题。

我的意见是,应用程序假设SQL连接始终可用(在运行命令前不进行检查或测试),因此当线路断开或任何使连接断开/关闭的情况下,应用程序会生成该消息。

要重现,只需在SQL Server上终止SQL会话,您将获得 一样 类似的消息。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.