天天看點

SQL Server 複制需要有實際的伺服器名稱才能連接配接到伺服器

原文: SQL Server 複制需要有實際的伺服器名稱才能連接配接到伺服器 機子由于在搗鼓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';

--或用下面代碼

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 複制需要有實際的伺服器名稱才能連接配接到伺服器