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

时间:2021-04-11 00:34:17

机子由于在捣鼓DAC连接方式时,计算机名被修改了,被改成了kerry,直到最近几天由于计算机改名了,这个潜在的问题(本机数据库只是偶尔那里做实验)终于爆发了:我用连接服务器从其它服务器拷贝数据时报错,错误如下:SQL Server 复制需要有实际的服务器名称才能连接到服务器。不支持通过服务器别名、IP 地址或任何其他备用名称进行连接。请指定实际的服务器名称“xxxx”。 (Replication.Utilities):具体情况如图所示

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

 

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

 

 

决方法:从sys.sysservers 查看列 svrname 可以发现不是新的计算机名,问题就出在此处(如图所示)。先用 sp_dropserver 删除服务器,语句:EXEC sp_dropserver '老计算机名'再用 sp_addserver 添加新的服务器,语句:EXEC SP_ADDSERVER '新计算机名','LOCAL'最后重启SQL SERVER 服务,问题解决。

  
  
  
SELECT * FROM sys.sysservers

EXEC SP_DROPSERVER ' 20091228-1016\GSP ' ;
GO
EXEC SP_ADDSERVER ' KERRY\GSP ' ;
GO

-- 或用下面代码
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

 



 

 

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