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服務