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

SQL Server 2000設置和使用數據庫復制

編輯:關於SqlServer
復制的概念

     復制是將一組數據從一個數據源拷貝到多個數據源的技術,是將一份數據發布到多個存儲站點上的有效方式。使用復制技術,用戶可以將一份數據發布到多台服務器上,從而使不同的服務器用戶都可以在權限的許可的范圍內共享這份數據。復制技術可以確保分布在不同地點的數據自動同步更新,從而保證數據的一致性。 
為何使用復制?
    復制可用於許多方面。例如,復制是維護報告服務器的完美解決方案。你可以使用復制將必要的數據對象傳送到一個報告數據庫上(最好是一台單獨的服務器),以滿足公司的報告需求,並同時減輕OLTP服務器的負擔。當你把數據復制到報告服務器中時,復制還允許你進行數據傳輸,這意味著你只能復制所需表的行或列。除表外,你還可以復制對象,如視圖、用戶定義的函數、以及存儲過程。在要復制的表中,你還可以包括限制、索引和觸發器。
    除報告作用以外,你還可以使用復制在生產服務器中標出一些作業。在這種情況下,應該將數據對象從生產環境復制到單獨一台服務器中。所需的作業在這台服務器上發生。一旦完成必要的作業,進行的改變就被傳送回生產服務器,從而有效地緩解生產服務器的作業負擔。
    復制的另一優勢在於,它允許你將數據復制到不同的地理位置以便使用。一個組織的分公司就可以采用這種方法。總公司對“主”數據庫進行維護,每個分公司擁有這個數據庫的一個拷貝。分公司能夠查看並修改分配給他們的數據庫,任何修改可以在配置時間返還總公司數據庫,並與其合並。然後總公司將這些修改分發到所有其它分公司。允許每個分公司擁有自己獨立的數據庫,並將改變在休息時間返還,這樣可以有效地降低總公司與分公司之間的網絡流量。
 
復制的基本元素包括
 出版服務器、訂閱服務器、分發服務器、出版物、文章。
 
復制的工作原理
 SQL Server 主要采用出版物、訂閱的方式來處理復制。源數據所在的服務器是出版服務器,負責發表數據。出版服務器把要發表的數據的所有改變情況的拷貝復制到分發服務器,分發服務器包含有一個分發數據庫,可接收數據的所有改變,並保存這些改變,再把這些改變分發給訂閱服務器。

 
復制類型
    共有三種類型的復制,每種適用一種特別的需要。下面簡單說明這三種復制:
· 

">快照復制:這是最簡單的復制類型。它在特定的時刻瞬間將數據庫對象發送到訂閱服務器。這種復制產生非常少的額外開銷,因為系統不會一直檢查復制變化。但是,被復制的對象僅與最近的快照同步。
·   事務復制:這種形式的復制以最初的快照應用於目的數據庫開始。當目的數據庫的數據被修改時,變化返還源數據庫進行合並。然後,源數據庫可以向其它目的數據庫發布這些變化。這允許這些目的數據庫進行離線工作,並在必要時返還源數據庫進行合並。
·   合並復制:通過這種形式的復制,事務日志上發生的任何改變立即提交給訂閱服務器。它允許你根據為數據配置的滯後時間,使源數據庫與目的數據庫“幾乎”保持同步。因為變化幾乎實時同步,這種復制產生大量的額外開銷。事務型復制還可實現雙向支持。目的數據庫上的數據改變能夠傳送回源數據庫。
  

以復制為高實用性的解決方案
     在我看來,復制並不是一個非常適合的高實用性解決方案。復制有出錯的傾向。這些錯誤一般都是小錯誤,很容易得到修復,不過它們仍然還是錯誤。而且,與日志傳送一樣,對復制數據庫的故障修復需要手工操作,它還要仔細規劃,費時而且可能會遺失數據。
    


實現步驟
 只要把上面這些概念弄清楚了那麼對復制也就有了一定的理解。接下來我們就一步一步來實現復制的步驟。 

 
A 強制訂閱的配置(默認選此)
在發布服務器上
(1) [企業管理器]->[復制]->[發布內容]->[屬性]->[訂閱]->[強制新建] 

然後出現強制訂閱向導 
(2) 選擇訂閱服務器->訂閱數據庫名->設置分發代理程序調度->初始化訂閱->啟動要求的服務
(發布服務器的agent要啟動)->完成即可  

 

 

B 請求訂閱的配置
訂閱服務器上執行以下操作 
(1) 從[工具]下拉菜單中選擇[復制]子菜單的[請求訂閱]
(2) 選擇[請求新訂閱] 打開請求訂閱向導
(3) [下一步]選擇已注冊的發布
(4) [下一步]選擇創建訂閱的數據庫
(5) [下一步]選擇匿名訂閱或署名訂閱
(6) [下一步] 初始化訂閱 選擇初始化架構和數據
(7) [下一步]選擇快照文件的存放位置 一般采用發布服務器的默認快照文件夾
(8) ** [下一步]設置分發代理程序調度 可以選擇訂閱更新內容的間隔
(9) [下一步]系統會提示檢查發布服務器的代理服務的運行狀態
(10) [下一步] 完成配置
結束語:

至於是使用強制訂閱(推方式)還是請求訂閱(拉方式),要看分發服務器和訂閱服務器的工作負荷,但兩者有多大差別,未經過具體測試。建議在強制訂閱以後,再試驗請求訂閱,以獲取復制的最佳性能。
 
完成上面的步驟其實復制也就是成功了。但是如何來知道復制是否成功了呢?這裡可以通過這種方法來快速看是否成功。展開出版服務器下面的復制——發布內容——右鍵發布內容——屬性——擊活——狀態然後點立即運行代理程序接著點代理程序屬性擊活調度把調度設置為每一天發生,每一分鐘,在0:00:00和23:59:59之間。接下來就是判斷復制是否成功了打開C:\Program Files\Microsoft SQL Server\MSSQL\REPLDATA\unc\XIAOWANGZI_database_database下面看是不是有一些以時間做為文件名的文件夾差不多一分中就產生一個。要是你還不信的話就打開你的數據庫看在訂閱的服務器的指定訂閱數據庫下看是不是看到了你剛才所發布的表—。
 
這是日常的管理監控界面:


 

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