首页 > 代码库 > SQL Server 复制需要有实际的服务器名称才能连接到服务器.请指定实际的服务器名称

SQL Server 复制需要有实际的服务器名称才能连接到服务器.请指定实际的服务器名称

新到一家公司上班,对服务器状况不是很熟悉。昨天Boss让我调查两台服务器是否满足事务复制的条件。

于是直接在服务器上尝试新建发布,结果就出现了标题的错信息:SQL Server 复制需要有实际的服务器名称才能连接到服务器.请指定实际的服务器名称“AAA”。(Replication.Utilities)

心想肯定是服务器改过名字,之前也在群里听说过。

百度上一搜,基本上都是如下的解决方案:

IF SERVERPROPERTY(SERVERNAME) <> @@SERVERNAME        BEGIN            DECLARE    @SERVER SYSNAME            SET @SERVER = @@SERVERNAME             EXEC SP_DROPSERVER @SERVER = @SERVER          SET @SERVER = CAST(SERVERPROPERTY(SERVERNAME) AS SYSNAME)            EXEC SP_ADDSERVER @SERVER = @SERVER, @LOCAL = LOCAL        END  USE MASTER  GO  SELECT @@SERVERNAME  SELECT SERVERPROPERTY(SERVERNAME) 

可是我的服务器状况是:SERVERPROPERTY(‘SERVERNAME‘) 和 @@SERVERNAME的结果都是名字"AAA",而我只能用名字"BBB"登陆...

这个方法不能用于解决我的问题。似乎我进入自己的圈套了。

--------------------------------------------------------------------丑陋的分界线--------------------------------------------------------------------------------

后来发现:

1.我之所以不能用“AAA”登陆,是因为我是远程登陆的,而“AAA”位于IDC机房,跟我不在一个网段,远程桌面连接直接在服务器本地就能用"AAA"登陆了。

2.“BBB”这个名字应该是在DNS上为"AAA"服务器所解析的一个名字。所以远程能连接。

3.复制直接在服务器本地配置即可。(当然用"AAA"登陆)

结果:我根本就无需做任何修改嘛...自己被"BBB"这个DNS解析的名字给骗了。

SQL Server 复制需要有实际的服务器名称才能连接到服务器.请指定实际的服务器名称