且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

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

更新时间:2022-08-21 12:38:40

机子由于在捣鼓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 复制需要有实际的服务器名称才能连接到服务器