程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> MS SQL基礎教程:快照復制

MS SQL基礎教程:快照復制

編輯:關於SqlServer

16.3.1 快照復制概述

快照復制就是在某一時刻對出版數據進行一次“照相”,生成一個描述出版數據庫中數據瞬時狀態的靜態文件,最後在規定時間將其復制到訂購者數據庫。快照復制並不像事務復制那樣要不斷地監視、跟蹤在出版數據庫中發生的數據變化,它所復制的內容不是 INSERT、 UPDATE、 DELETE 語句(事務復制的特征),也不是僅限於那些被修改數據(合並復制的特征)。它實際上是對訂購數據庫進行一次階段性的表刷新,把所有出版數據庫中的數據從源數據庫送至目標數據庫,而不僅僅是那些發生了變化的數據。如果論文很大,那麼要復制的數據就很多,因此對網絡資源需求較高,不僅要有較快的傳輸速度,而且要保證傳輸的可靠性。

快照復制是最為簡單的一種復制類型,能夠在出版者和訂購者之間保證事務的潛在一致性。快照復制通常使用在以下場合:不需要實時數據時,如在進行決策支持、查詢靜態表信息時;只讀訂購者(訂購者不對出版數據進行修改),並且不需要最近的數據;使用立即更新訂購者時對數據庫的修改次數和數據量較少。

快照復制的執行僅需要快照代理和分發代理。快照代理准備快照文件(包括出版表的數據文件和描述文件)並將其存儲在分發者的快照文件夾中,除此之外快照代理還要在分發者的分發數據庫中跟蹤同步作業。分發代理將在分發數據庫中的快照作業分發至訂購者服務器的目的表中。分發數據庫僅用於復制而不包括任何用戶表。

每一次快照代理執行時,都要創建將被分發至訂購者的數據文件和描述文件(也稱為同步集合)。快照代理主要通過以下幾步來完成這一工作(見圖16-24)。

(1)從分發者到出版者的連接並在出版物論文中的所有表上加了共享鎖。共享鎖是為了確保快照數據的一致性,因為共享鎖將防止所有的其它用戶對表進行修改。快照代理應該被安排在數據庫活動較少期間執行。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved