如何在SQL Server 2005中實現數據同步

     現在假如有一個這樣的應用,有一個遊戲服務商在推廣一個大型遊戲的時候,現在架設了多臺數據庫服務器,爲了數據的便於統計,最終這些數據可以自動的轉入到指定存儲的另一臺服務器中,這時候就會面臨着一個這樣的問題,如何保證這些多臺數據庫之間的數據的同步呢?

   我們就可以使用複製的辦法,複製是將一組數據或數據庫對象從一個數據庫複製和分發到另外一個數據庫,從而使不同的服務器用戶都可以在權限的許可的範圍內 共享這份數據。使用複製,可以在局域網和廣域網上將數據分發到不同位置,可以確保分佈在不同地點的數據自動同步更新,從而保證數據的一致性。

   在SQL Server 2005中,複製主要需要有發佈服務器、分發服務器和訂閱服務器,源數據所在的服務器是發佈服務器,負責發表數據。發佈服務器把要複製的數據或對象發生的 改變複製到分發服務器,分發服務器用來接收數據的所有改變,它包含一個分發數據庫,並保存這些改變,再把這些改變分發給訂閱服務器。在複製過程中,發佈服 務器是一種數據庫實例,它通過複製向其他位置提供數據,分發服務器也是一種數據庫實例,它起着存儲區的作用。訂閱服務器是接收復制數據的數據庫實例。一個 訂閱服務器可以從多個發佈服務器上接收數據。

  複製主要有三種形式:快照複製、事務複製、合併複製。快照複製將數據以特定時刻的瞬時狀態 分發,而不監視對數據的更新。如果發生了同步,就會生成完整的快照並將其發送到訂閱服務器;事務性複製通常從發佈數據庫對象和數據的快照開始。拍攝初始快 照後,隨後在發佈服務器中所做的數據更改和架構修改通常在修改發生時便傳遞給訂閱服務器。數據更改在訂閱服務器中應用的更改順序以及更改所處的事務邊界與 在發佈服務器中相同。合併複製通常也是從發佈數據庫對象和數據的報表快照開始。並用觸發器跟蹤在發佈服務器和訂閱服務器中所做的後續數據更改和架構修改。 訂閱服務器與發佈服務器在連接到網絡時進行同步,並交換自上次同步以來發布服務器和訂閱服務器間發生變化的所有行。

  現在來通過SQL Server 2005來建立數據複製的操作 。

  1、先在兩臺服務器上建立兩個完全一樣的數據庫、表結構及存放的數據;

  2、在服務器一上打開SQL Server 2005,然後選擇“複製”——>“本地發佈”,然後右鍵選擇新建發佈;

  3、在新建發佈嚮導中首先要求選擇分發服務器,在操作中我們暫選擇本機作爲分發服務器,所以選擇默認值。

  4、選擇快照的路徑,一般情況下選擇默認路徑,根據嚮導選擇要發佈的數據庫;

  5、選擇發佈的內容,可以選擇發佈表,也可以發佈其他的數據庫對象,比如函數。在選擇某一個表之後還可以選擇對應的列;

  6、發佈的內容設置好後,然後運行SQL代理的賬號。然後再按照嚮導給建立的複製名命。這樣就建立好了發佈和分發的應用了。

  下面接着來配置訂閱的應用。

  1、先在服務器二上打開SQL Server 2005,然後選擇“複製”——>“本地訂閱”,然後右鍵選擇新建訂閱;

  2、選擇發佈服務器,在發佈服務器的下接列表中找到對應已經建立好的SQL SERVER 發佈服務器,然後就可以看到剛纔新建的發佈複製名稱;

  3、選擇訂閱方式。在這裏可以選擇請求訂閱,然後選擇訂閱的本地需要同步的數據庫;

  4、設置完本地數據庫之後要求設置運行代理的安全性,設置成SQL 代理賬號。訂閱的設置就已經完成。

  下面我們就可以做一個操作的示範,在服務器一上面新插入一條記錄後,然後再去服務器二上面看看對應表的數據,會發現到,也會看到更新後的數據。

 

http://tech.ddvip.com/2008-08/121870499154395.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章