指定的网络名称不再可用

Hai*_*ssa 14 sql-server connectivity sql-server-2014

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

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

我做了很多研究,其中大多数指出是网络问题,但找不到任何实际解决问题的方法。有谁知道我应该在数据库方面做出什么改变来解决这个问题。我非常感谢任何建议。

Sti*_*ing 9

听起来像是不稳定的 DNS 解析问题或长时间运行的查询。

用于 DNS 故障排除

作为创可贴和故障排除帮助,在您的应用程序服务器(不是 SQL Server)上的主机文件中添加并进入 c:\windows\system32\drivers\etc

SQLServerIPAddress SQLServerName
Run Code Online (Sandbox Code Playgroud)

例子:

172.16.0.5 ProductionSQLBox
Run Code Online (Sandbox Code Playgroud)

这样,主机文件将解析 SQL Server 名称,直到您找到名称解析的真正问题为止。

确保通过命令行从应用服务器 ping SQL 框来测试主机文件。或者,交替使用控制面板中的 ODBC 管理器创建 DSN 并在那里测试连接。

对于长时间运行的查询

为连接到 SQL Server 的应用程序连接字符串实现更长的命令超时值

例子

<connectionStrings> 
    <add name="webconfigconnectionString" connectionString="server=SQLServerName;database=dbName;uid=u??serName;password=ABC??123;Connect Timeout=120" />
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)


小智 7

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