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

SQL Server 2000 複寫架設前置檢查清單與伺服器名稱修正

     編輯:關於SqlServer

複寫前必須滿足的四大條件

1. SQL Server 服務啟動帳號必須為網域帳號

  • MSSQLServer 與 SQLServerAgent 服務需以網域使用者身分啟動(本機 Administrator 亦可)。
  • 若使用「本地系統帳號」,無網路存取權,會出現 進程未能連接到 Distributor 錯誤。
  • 注意:若已啟用全文檢索服務,勿變更服務帳號,否則全文檢索將失效。建議另闢一台伺服器作為散發者。
  • 變更後需重啟兩項服務生效。

2. 伺服器名稱與 sysservers 一致性檢查

執行查詢驗證:

USE master;
SELECT srvid, srvname, datasource FROM sysservers;
  • 必須存在 srvid = 0 的本地伺服器記錄。
  • srvname 必須等於 datasource(即實際 Windows 電腦名稱)。

3. 修正不一致的伺服器名稱腳本

USE master; GO
DECLARE @serverproperty_servername VARCHAR(100), @servername VARCHAR(100);
SELECT @serverproperty_servername = CONVERT(VARCHAR(100), SERVERPROPERTY('ServerName'));
SELECT @servername = CONVERT(VARCHAR(100), @@SERVERNAME);
SELECT @serverproperty_servername, @servername; -- 確認差異

-- 若不同,執行修正
EXEC sp_dropserver @server = @servername;
EXEC sp_addserver @server = @serverproperty_servername, @local = 'local';

修正後需重啟 MSSQLServer 與 SQLServerAgent 服務。此舉可預防複寫建立過程中出現 18482、18483 錯誤。

4. 其他常見前置條件

  • 散發者、發行者、訂閱者間網路連通(Ping、Telnet 1433、命名管道)。
  • 防火牆開放 SQL Server 連接埠與 RPC 連接埠。
  • DNS 正解/反解正確,或 hosts 檔對應。
  • 時間同步(NTP),避免 Kerberos/複寫時間戳衝突。

總結

複寫失敗 80% 源於基礎環境未就緒。將上述檢查清單標準化為部署 SOP,能大幅降低複寫建立失敗率,縮短上線時程。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved