適用於: SQL Server 2019、SQL Server 2017
徵兆
變更裝載Microsoft SQL Server 2019 或 SQL Server 2017 的伺服器主機名之後,您可能會遇到 AlwaysOn 可用性群組或復寫的問題。 安裝 SQL Server 2019 累積更新 (CU) 9、SQL Server 2017 CU23 或更新版本的 CU 之後,就會發生這些問題。
以下是錯誤範例:
-
錯誤:19435,嚴重性:16,狀態:1。
AlwaysOn:AG 'AGPRD' 的 AG 完整性檢查失敗,錯誤為 41041,嚴重性 16,狀態 0。
AlwaysOn:可用性群組 'AGPRD' 已移除,而此 SQL Server 實例上的可用性複本已離線。 本機複本現在將會移除。 -
SQL Server 複寫需要實際伺服器名稱才能連線到伺服器。 指定實際的伺服器名稱。
原因
根據預設,新的主機名會報告於 ServerName
函式的 SERVERPROPERTY
屬性和 SQL Server 錯誤記錄檔中。 安裝 SQL Server 2019 CU9 之後, SQL Server 2017 CU23 或更新版本的 CU,新的伺服器名稱不是衍生自主機名,而是衍生自 sys.servers
檢視。 如果主機名不符合 sys.servers
,就會發生這些問題。
因應措施
變更主機名之後,請從 SQL Server 本機實例上已知遠端和連結的伺服器清單中移除舊名稱。
sp_dropserver
執行程式:EXEC sp_dropserver '<old_name>'; GO
將新名稱提供給 SQL Server 資料庫引擎 實例。
sp_addserver
執行程式:EXEC sp_addserver '<new_name>', local; GO
如需詳細資訊,請參閱 重新命名裝載 SQL Server 獨立實例的電腦。
狀態
- 針對 Linux 上的 SQL Server,已針對下一版 SQL Server 排程完整的解決方案。
- 針對 Windows 上的 SQL Server,此問題已在 SQL Server 2017 CU27 和 SQL Server 2019 CU13 中修正。