SQL Server 2005/2008 配置 Transactional Replication 过程中,出现如下异常信息。
异常信息: Replication.Utilities
——————————
SQL Server 复制需要有实际的服务器名称才能连接到服务器。不支持通过服务器别名、IP 地址或任何其他备用名称进行连接。请指定实际的服务器名称“xxxxxxx”。
SQL Server replication requires the actual server name to make a connection to the server. Connections through a server alias, IP address, or any other alternate name are not supported.
异常截图:
解决办法:
1. 检查SQL Server 的服务器名称:
SELECT @@SERVERNAME
2.如果发现上述 SQL 查询得到的服务器名称和实际的计算机名称不符合,则需要进一步执行下面的脚步:
sp_dropserver ‘old_server_name’ --以前的名称
GO
sp_addserver ‘current_computer_name’, ‘local’ --新名称
此时,再次运行 SELECT @@SERVERNAME,可能获得 NULL值。重启SQLSERVER 服务,再次运行查询语句,将获得SERVER的真实名称。
===============================================
出现错误
无法删除服务器 'LC04',因为该服务器用作复制过程中的发布服务器。 (Microsoft SQL Server,错误: 20582)
解决处理
select * from msdb.dbo.MSdistpublishers
DELETE FROM msdb.dbo.MSdistpublishers
select * from msdb.dbo.MSdistpublishers
exec sp_droplinkedsrvlogin 'LC04',null
exec sp_dropserver 'LC04','droplogins'
exec sp_addserver 'MSSQLSERVER' , 'LOCAL'
重启SQLServer服务