我需要与网络基础设施人员坐在一起,看看为什么突然发生如下的SQL连接错误。
作为准备工作,请提供输入可能出现此错误的原因,以及我们可以在应用程序和/或基础架构方面试图绕过它。
现在的复杂性:
ConnectionString是这样的:
Server=severname.DomainB\InstanceName,48000;Database=DBName;...
尝试了如下所示的基于IP的ConnectionString,这样可行,所以这是一个名称解析的事情:
Data Source=IPAddress\InstanceName,48000;Database=DBName;...
由于IP地址可能会发生变化,我们希望保留名称(但IP地址可以使用一段时间)。
我们应该怎样做才能进一步研究名称解析的事情?
换句话说:
为什么从网络共享启动时名称解析会有所不同 而不是从当地的车道?为什么过去没有什么不同?
环境非常紧张(典型的企业环境),因此简单的调试很困难。
IT基础设施人员正准备分裂DomainA和DomainB(未来的行动之一:将大量用户从DomainA迁移到DomainB,然后将DomainB作为登录域),并尝试对运行信息的影响最小。
建立与SQL Server的连接时发生与网络相关或特定于实例的错误 服务器未找到或无法访问。
验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。
答案 0 :(得分:1)
立即使用IP地址。如果你真的,真的,真的想要在连接字符串中使用友好名称,那么如果网络用户无法使名称解析工作,请使用hosts
文件。当服务器移动时,您可以更新配置文件以指向新服务器(按名称,如果他们知道如何使其工作,或者如果没有则通过新IP),或更新hosts
用于将旧友好名称映射到新IP地址的文件。
我们无法真正告诉您它为何被改变或为何被破坏 - 一旦您向他们提供证据,例如能够通过IP地址远程登录到端口48000的机器,您应该从您的网络团队得到更好的答案但是不是名字。他们可能不知道修复,但可能会在ServerFault上更好地询问具体案例。