Windows Server 2008 R2 安裝 SQL Server 2008 R2 後,修改了電腦名稱(加入 AD 網域)。配置資料庫鏡像/複寫發布時出現錯誤:
SQL Server 複寫需要有實際的伺服器名稱才能連接到伺服器。不支援透過伺服器別名、IP 位址或任何其他替代名稱進行連接。請指定實際的伺服器名稱...
SQL Server 內部儲存的伺服器名稱(@@SERVERNAME)仍為舊電腦名稱,與目前作業系統電腦名稱不一致。複寫、鏡像、連結伺服器等功能強制要求兩者一致。
USE master;
GO
SELECT @@SERVERNAME AS [SQL內部名稱];
SELECT SERVERPROPERTY('ServerName') AS [實際伺服器名稱];
若兩者輸出不一致,即為問題所在。
-- 1. 移除舊伺服器名稱
sp_dropserver 'old_server_name';
GO
-- 2. 加入目前電腦名稱為本地伺服器
sp_addserver 'current_computer_name', 'local';
GO
若伺服器有多個 SQL Server 實例,每個實例都必須分別執行上述 3 步驟,分別連線到各實例執行。
sp_dropserver/sp_addserver 並重啟服務