我有两个数据库服务器,我可以通过 IP 对两个服务器进行 ping 操作,但只能通过名称对其中一个服务器进行 ping 操作。
设置:
- 服务器1-原始数据
- Server2-通过复制从 Server1 接收数据
Server1 可以通过 IP 和 NAME ping Server2。Server2
可以通过 IP ping Server1,但不能通过 NAME ping 通。
为什么 server2 无法通过名称 ping server1?
我需要它,因为当我输入数据库服务器的名称时,他无法识别。
答案1
您遇到了名称解析问题。根据您的暗示,我假设这是 DNS 问题。以下是一些可采取的步骤:
确定您的内部 DNS 服务器。确定 DNS 服务器上的相应 DNS 区域。验证 DNS 区域是否配置为允许动态更新。如果这是 AD 相关区域,则您只能允许安全更新。如果这不是 AD 相关区域,则您需要同时允许安全和不安全更新。
确保两个数据库服务器都配置为使用步骤 1 中确定的 DNS 服务器进行 DNS 名称解析。
确保两个数据库服务器都配置了与您的 DNS 区域匹配的 DNS 后缀。如果这是 AD 域并且两个数据库服务器都已加入该域,则会出现这种情况。
验证两个数据库服务器的 DNS 区域中是否注册了正确的 A(主机)记录。如果未注册或不正确,则删除不正确的记录,并通过从命令提示符运行 ipconfig/registerdns 从适用的服务器重新注册。
答案2
这里有很多选择。但我首先要从这里开始:
- nslookup server1 返回什么?如果它不是您要查找的 IP 或返回空,那么这就是您的问题
- 那 tracrt server1 怎么样?它可能会在某个时候停止,这会指出问题所在。
- 既然我们在谈论数据库,您是否尝试过从服务器 2 远程登录到服务器 1 上运行 SQL Server 的端口?这才是最终最重要的(其余的您可以绕过)。
答案3
尝试刷新 DNS 解析器缓存。如果在 Windows 上 - 从 server2 开始 - 运行 - ipconfig /flushdns。
答案4
最佳做法是将每台服务器的 IP 和主机名添加到两台服务器的主办方文件。
例如,如果您的服务器运行 Windows,则使用记事本打开 C:\Windows\System32\drivers\etc\hosts 并添加:
192.168.1.101 dbserver1.domain.com
192.168.1.102 dbserver2.domain.com
到两个服务器(当然,您将在主机文件中添加您的 IP 和主机名)。