Microsoft SQL Server 2000 超級管理手冊(二七)

本文圍繞Microsoft SQL Server 2000的交易式複寫展開,介紹其應用、設定、監控及校調等內容。詳細講述建立交易式發行集的步驟,包括選擇發行集類型、設定訂閱者更新方式等,還提及設定記錄讀取器代理程式以提高效能、降低負擔。

27. 交易式複寫

交易式複寫概觀

交易式複寫的應用

設定交易式複寫系統

設定、監視與校調散發者

交易式複寫校調

執行交易式複寫

本章總結

 第26章 介紹 Microsoft SQL Server 2000 複寫,也簡單的介紹了交易式複寫。本章會繼續介紹交易式複寫,包括如何進行複寫,何時利用複寫,及如何設定、監控及校調交易複寫系統。

交易式複寫是較常用的複寫方式,它可以很快的將更新資料送至訂閱者端,而又不會造成發行者端太多負擔。

交易式複寫概觀
 

望名生義,交易式複寫用於複寫交易。要進行交易式複寫,一開始會將快照集套用在訂閱者端,然後當發行者端有資料修改時,則會捕捉個別的交易並複寫至訂閱者端。所有的資料庫更改,如資料庫更新、插入或刪除都會依此複寫模式。

 記錄讀取器代理程式 讀取交易式複寫的各資料庫交易記錄檔,在散發者端執行,並建立與發行者端之間的連結。要複寫的交易從散發者端複製到散發資料庫中,再由 散發代理程式 將散發資料庫資料表中的交易資料移至訂閱者端資料庫。

每一個交易式複寫的資料庫都有一個屬於該資料庫的記錄讀取代理程式,這個代理程式在散發者端執行,並監控該交易庫在發行者端的交易記錄檔。一個資料庫可能同時設定數個發行集,但一個資料庫只能有一個 記錄讀取器代理程式 

 記錄讀取器代理程式 排程設定可在建立發行集時設定。此份排程可以設定為連續地發生,或是依 訂閱者 排定的間隔。 記錄讀取器代理程式 會依以下事件順序執行:

  1.  記錄讀取器代理程式 讀取發行集系統內的交易記錄檔,建立一份清單,並記錄複寫資料庫內 INSERT、UPDATE 及 DELETE 等陳述式或其他標示要複寫的交易,如刪除資料表,更改欄位定義等類的交易。
  2.  記錄讀取器代理程式 開始處理資料記錄檔內的資料,並依發行集內定義的資料表發行項(article)進行水平或垂直篩選(filtering)。
  3. 這些變更會以批次交易送至散發者上的散發資料庫,在散發資料庫中會有數個資料表來追蹤複寫的更改和作業。所有在發行者端的變更都要傳送至訂閱者端,而這些變更會存在 MSRepl_commands 資料表中,這個資料表將複寫命令壓縮儲存。針對每一個所定義的發行項, MSRepl_commands 資料表均包含已複寫命令的資料列,如插入、更新及刪除。如果修改了發行者資料庫中的資料表,且該資料庫被包含在數個發行項中,這項修改就會在散發者端的資料庫被複寫。舉例來說,如果三個發行項均包含A資料表,更新A資料表就會在散發者端的資料庫新增三個資料列。
  4. 在每一個批次成功的傳送到散發者資料庫以後,每一個批次中的交易都會被認可。如果認可失敗,在代理程式錯誤記錄中就會記錄此錯誤訊息。
  5. 在散發者資料庫的更改被認可後,記錄讀取器代理程式會標示最後一次的變更,以及最新一次的複寫執行,以避免重複更改的動作。
  6. 當交易記錄檔讀取交易並被散發者資料庫認可,記錄讀取器代理程式會在交易記錄檔中標示哪些資料列已經備妥可以截斷。

在發行者資料庫端的每一次修改都會在散發者資料庫端登記最少一次。在有些情況下,發行者資料庫端的修改會在散發者資料庫端登記好幾次,以下為可能造成這種狀況的原因:

  • 當在資料表中有插入的動作時,在散發者資料庫中屬於發行項成員的資料表就會有插入的動作。如果資料表存在於兩個不同的發行集,就會被定義為不同的發行項。在兩個發行項中都會在發行者資料庫中存在儲存每一個在發行集資料庫中的插入、更新和刪除動作的資料列。
     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值