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

SQL Server 2008 交易式複寫實作指南:從發佈建立到訂閱驗證完整流程

     編輯:SQL Server 2008

架構規劃

  • 發佈者:來源資料庫伺服器 (SQL Server 2008)。
  • 散發者:可與發佈者同機或獨立,本例採同機。
  • 訂閱者:目標資料庫伺服器 (同網段另一台 SQL Server 2008)。
  • 注意:2008 發佈無法被 2005 訂閱,版本需相容。

前置需求

  1. 兩台伺服器皆啟用 TCP/IP 協定,防火牆開放 1433。
  2. SSMS → 伺服器屬性 → 連線 → 允許遠端連線。
  3. 建立 Windows 帳號 (如 repl_user) 於兩機器同名同密,供 Agent 服務與複寫連線使用。

一、建立發佈

  1. SSMS 連線發佈者 → 展開 複寫 → 本地發佈 → 右鍵 新增發佈。
  2. 精靈:選擇發佈資料庫 (如 dnt_new)。
  3. 發佈類型:選擇 交易式發佈。
  4. 發行項:勾選需同步的資料表、預存程序、函數等。
  5. 篩選:若需部分資料同步可設定 WHERE 條件,全表同步則略過。
  6. 快照代理程式安全性:指定 repl_user 執行快照代理,並授與資料庫 db_owner。
  7. 發佈名稱:如 dnt_new_trans,完成精靈。

新增發佈 選擇資料庫 發佈類型 發行項 項目問題 篩選資料 代理安全性 安全性設定 下一步 發佈名稱 建立完成

二、建立訂閱

  1. SSMS 連線訂閱者 → 複寫 → 本地訂閱 → 右鍵 新增訂閱。
  2. 精靈:尋找發佈伺服器 (輸入發佈者 IP/名稱,使用 repl_user 登入)。
  3. 選擇剛建立的發佈 dnt_new_trans。
  4. 散發代理程式位置:選 在散發者端執行 (Push 訂閱)。
  5. 訂閱資料庫:選擇或建立目標資料庫 (如 dnt_new_sub)。
  6. 散發代理程式安全性:同樣使用 repl_user,並授目標資料庫 db_owner。
  7. 同步排程:選 持續執行 (近即時同步) 或定時。
  8. 初始化:選 立即初始化,精靈會自動套用快照。

新增訂閱 尋找發佈者 登入發佈者 選擇發佈 訂閱資料庫 代理安全性 持續執行 立即初始化

三、驗證與監控

  • 在發佈者資料表新增/修改資料,1-3 秒內應同步至訂閱者。
  • SSMS → 複寫監視器 檢視延遲、錯誤、代理程式狀態。
  • 常見問題:防火牆阻擋、帳號權限不足、快照資料夾路徑不可存取、DNS 解析失敗。

關鍵最佳實務

  • 使用專用 Windows 帳號執行所有複寫代理程式,避免使用系統帳號。
  • 快照資料夾放在獨立磁碟,並授與代理帳號完整權限。
  • 定期檢查 sp_replmonitorhelppublication 延遲指標,設定警示。
  • 大量資料初始化時,考慮使用 備份/還原 替代快照以縮短時間。
  • 異地複寫需評估頻寬與延遲,必要時調整 -PollingInterval 等代理參數。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved