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

SQL Server 2005 高可用性核心技術:複寫架構與實戰配置

     編輯:關於SqlServer

SQL Server 2005 在效能與功能上實現革命性躍升,正式跻身企業級資料庫行列。其高可用性方案包含資料庫鏡像、複寫、故障轉移叢集與日誌傳送。本文聚焦複寫技術,解析核心概念、三種複寫類型,並以交易式複寫為例演示跨實例配置全流程。

一、複寫核心概念與角色

複寫將資料或資料庫物件從一個資料庫複製分發至另一個資料庫,並同步維護一致性,支援區域網路、廣域網路、撥號、無線與 Internet 環境。

複寫拓撲由三大角色組成,類比報紙發行產業:

  • 發行者:資料來源,如報社(提供內容並印刷)。
  • 散發者:儲存區與轉發中心,如郵局(將報刊送達訂戶)。每個發行者對應散發者上單一散發資料庫,儲存複寫狀態、中繼資料與資料佇列。單一伺服器常同時扮演發行者與散發者,稱為本地散發者。
  • 訂閱者:接收複寫資料的資料庫實例,如訂戶。可從多個發行者/發行集接收資料。

複寫角色關係圖

圖 1:複寫伺服器關係圖

二、三種複寫類型

  1. 交易式複寫:將發行者上發生的資料修改,依發生順序與交易邊界套用至訂閱者,保證發行端交易一致性。適合高頻率、低延遲同步場景。
  2. 快照式複寫:以特定時間點的完整資料快照分發,不監視更新。同步時產生完整快照送至訂閱者。適合資料量小、變動少、容忍延遲的場景。
  3. 合併式複寫:從快照開始,透過觸發器追蹤發行者與訂閱者雙端的後續修改。訂閱者連線時雙向交換變更。適合行動/離線用戶、多點更新場景。

三、實戰:配置交易式複寫 (同機雙實例)

環境:同一台機器兩個實例 SERVER01(發行者+散發者,本地散發者)與 SERVER02(訂閱者)。發布 DBCopy 資料庫中 Person 表(含主鍵),資料庫復原模式為完整,SQL Agent 自動啟動。

步驟 1:前置同步

完整備份 SERVER01 DBCopy,於 SERVER02 還原,確保發布前源目標資料一致。

步驟 2:於 SERVER01 配置發行與散發

  1. SSMS 物件總管 → 複寫 → 本地發行集 右鍵 → 新增發行集。新增發行集
  2. 散發者選擇 本機(本地散發者)。選擇散發者
  3. 快照資料夾使用預設路徑。
  4. 選擇發布資料庫 DBCopy。選擇發布資料庫
  5. 發行類型選 交易式發行集。選擇交易式發行
  6. 選擇發行物件:勾選 Person 表(可進一步選擇特定欄位/篩選列)。選擇發行文章
  7. 設定 SQL Agent 執行帳戶。設定 Agent 帳戶
  8. 命名發行集為 PersonCopy,完成精靈。發行集建立完成

步驟 3:於 SERVER02 配置提取式訂閱

  1. SSMS → 複寫 → 本地訂閱 右鍵 → 新增訂閱。新增訂閱
  2. 選擇發行者 SERVER01,找到 PersonCopy 發行集。選擇發行者與發行集
  3. 訂閱類型選 提取式訂閱(由訂閱者主動請求)。選擇提取式訂閱
  4. 指定訂閱資料庫(已還原的 DBCopy)。選擇訂閱資料庫
  5. 設定散發代理程式安全性(SQL Agent 帳戶),完成精靈。

驗證

於 SERVER01 Person 表插入一筆記錄,SERVER02 幾乎即時可見同步資料,確認交易式複寫低延遲特性。

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