我正在Amazon EC2中设置镜像,并且我拥有所有带有专用IP的服务器。 当我尝试使用以下命令将我的镜像连接到我的主体
alter database DB_NAME set partner = 'TCP://202.42.3.54:1433'
(IP由于安全性而改变)我得到一个错误说
服务器networking地址“TCP://202.42.3.54:1433”无法到达或不存在。 检查networking地址名称并重新发出该命令。
我确定服务器存在,并从其他服务器可见。 我记得在端点服务器名称与服务器在@@ SERVERNAME中自己知道的名称不一样时有问题,有没有人认为这可能是问题?
鉴于我们没有任何域设置,也没有ActiveDirectory我可以想到使用实际的服务器名称的唯一方法是设置一个主机文件,但我觉得这个解决scheme将最终难以pipe理,非常难看。
任何选项或想法?
使用SQL数据库镜像和复制时,如果@@ servername与实际的主机名不匹配,则会出现问题。 如果在安装SQL之后重命名服务器,通常会发生这种情况。 此外,服务器需要能够通过主机名进行通信,无论您的任何处理(DNS,主机文件,WINS等)
如果您的主机名与@@ servername查询不匹配,那么有一个简单的非破坏性脚本可以解决。 在这个例子中,“oldhost”将是查询返回的名称。 运行脚本后,您将需要重新启动SQL服务。
exec sp_dropserver 'oldhost\instance' go exec sp_addserver 'currenthostname\instance',local go