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