首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> SQL Server 2008

SQL Server 2008 伺服器名稱不一致 (@@SERVERNAME vs SERVERPROPERTY) 修正指令

     編輯:SQL Server 2008

問題現象

執行 SELECT @@SERVERNAME 與 SELECT SERVERPROPERTY('ServerName') 結果不同,導致連結伺服器、複寫、作業排程等功能異常。

原因

伺服器主機名稱變更後,@@SERVERNAME (儲存於 sys.servers) 不會自動更新,而 SERVERPROPERTY('ServerName') 會即時讀取作業系統名稱。

修正腳本

-- 1. 確認目前狀態
SELECT @@SERVERNAME AS [@@SERVERNAME], SERVERPROPERTY('ServerName') AS [ServerProperty];

-- 2. 移除舊項目
EXEC sp_dropserver @server = '舊伺服器名稱';

-- 3. 加入正確名稱並標記為本地
EXEC sp_addserver @server = '正確伺服器名稱', @local = 'LOCAL';

-- 4. 重啟 SQL Server 服務 (MSSQLSERVER 或具名執行個體)

-- 5. 再次驗證
SELECT @@SERVERNAME, SERVERPROPERTY('ServerName');

注意事項

  • 若為具名執行個體,名稱格式為 主機名稱\執行個體名稱。
  • 執行 sp_dropserver 前,確認無其他連結伺服器參考此名稱。
  • 重啟服務會中斷所有連線,請安排維護窗口。
  • 叢集環境需在主動節點執行,並確認虛擬網路名稱正確。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved