天天看點

使用Sqlserver事務釋出實作資料同步

事務的功能在sqlserver中由來已久,因為最近在做一個資料同步方案,是以有機會再次研究一下它以及快照等,發現還是有很多不錯的功能和改進的。這 裡以sqlserver2008的事務釋出功能為例,對釋出訂閱的方式簡要介紹一下操作流程,一方面做個總結備份,一方面與大家進行一下分享和交流。費話 就不多說了,進入一下今天的正題:)

     這裡要說明一下環境:首先我在本地區域網路内有兩台安裝有sqlserver2008的機器(注意:已釋出的快照版本無法向老版本資料庫相容,意味着 2008下建立的事務或快照釋出,無法被sqlserver2005訂閱)。當然這兩台機器要放在同一個網段,一方面出現性能和安全性考慮,另一方面是我 目前還沒有找到跨不同網段的快照應用方案(可行性的那種)。

     好了,這裡我以我們産品資料庫為準來介紹一下如何通過釋出訂閱的方式來進行資料同步。

     首先,在要釋出的資料庫上建立一個我們的産品資料庫(這裡叫做dnt_new),然後在該資料庫執行個體的左側導航的“複制”--“本地釋出”上擊右鍵,然後選擇“建立釋出”,如下:

使用Sqlserver事務釋出實作資料同步

      這樣,系統就會啟動‘釋出向導’來引導大家,這裡我們在歡迎界面下點選"下一步”,然後在目前視窗中選擇要釋出的資料庫,如下:

使用Sqlserver事務釋出實作資料同步

      點選下一步,然後在接下來的視窗中選擇“事務釋出”,如下圖:

使用Sqlserver事務釋出實作資料同步

        然後點選下一步,選擇要同步的資料對象(資料表,存儲過程,自定義函數等),如下:

使用Sqlserver事務釋出實作資料同步

       然後就是“項目問題視窗”,因為之前已用dbo身份登陸,是以這裡隻要點選下一步即可,如下圖:

使用Sqlserver事務釋出實作資料同步

        這裡可以通過“添加”方式來過濾要同步的資料資訊,因為要做全表資料同步,是以這裡就不做設定了,感興趣的朋友可以自己研究一下,這裡接着點選下一步,如下:

使用Sqlserver事務釋出實作資料同步

      然後在‘代理安全性’視窗中,點選“安全設定”按鈕:

使用Sqlserver事務釋出實作資料同步

       在彈出的‘安全設定’子視窗中設定如下資訊,并點選‘确定’按鈕:

使用Sqlserver事務釋出實作資料同步

       然後點選下一步按鈕:

使用Sqlserver事務釋出實作資料同步

      選擇“建立釋出”複選框,然後點選下一步,這時向導會讓您輸入“釋出名稱”,這裡命名為“dnt_new_snap”:

使用Sqlserver事務釋出實作資料同步

      點選“完成按鈕”,這裡系統就開始根據之前收集的資訊來建立該釋出對象資訊了,如下:

使用Sqlserver事務釋出實作資料同步

      到這裡,‘建立釋出’的工作就完成了。下面介紹一下建立訂閱的流程。在另一個機器的sqlserver執行個體上,打開該執行個體并使用“複制”—“建立訂閱”,如下圖:

使用Sqlserver事務釋出實作資料同步

        這時系統就會啟動“建立訂閱”向導,點選下一步,并在“釋出”視窗中的“釋出伺服器”下拉框中選擇“查打釋出sqlserver伺服器”項,如下:

使用Sqlserver事務釋出實作資料同步

     然後在彈出視窗中選擇之前‘建立釋出時所使用的資料庫執行個體’并進行驗進登陸,這時,釋出伺服器的資訊就會出現在下方的清單框中:

使用Sqlserver事務釋出實作資料同步

        選擇之前我們建立的那個釋出對象“dnt_new_snap”,接着點選下一步:

使用Sqlserver事務釋出實作資料同步

       在分發代理位置視窗中,選擇“在分布伺服器上運作所有代理”,然後點選下一步,然後在“訂閱伺服器”視窗中的訂閱資料庫清單框中選擇一下要同步的訂閱資料庫名稱(可建立):

使用Sqlserver事務釋出實作資料同步

        點選下一步,然後在‘分發代理安全性’視窗中,點選清單框中的‘…’來設定安裝性,并做如下設定(注意紅框部分):

使用Sqlserver事務釋出實作資料同步

     然後點選“确定”按鈕,之後在向導上點選“下一步”按鈕,這時系統就會顯示“代理計劃執行方式”視窗,選擇“連續運作”:

使用Sqlserver事務釋出實作資料同步

      點選下一步,在視窗中選擇“立即執行”:

使用Sqlserver事務釋出實作資料同步

       完成了這一步,點選下一步按鈕,然後就可以建立該訂閱對象了,如果一切運作正常,sqlserver就會從‘釋出伺服器’那邊,将之前指定的資料表和存儲過程等同步到目前的‘訂閱資料庫’中了。

       這時我們可以在源資料庫(釋出伺服器)上的表中添加或修改指定表資料資訊,在等待1-3秒之後,所做的添加和修改就會同步到‘訂閱資料庫’上的相應表中。看來目的是達到了,呵呵。

       好了,今天的内容就到這裡了。

       注:本文中的兩台機器必定是可以使用sqlserver用戶端互聯(在sqlserver studio中設定'允許遠端連結',同時要設定相應的ip位址,以及在配置管理器中開啟tcp/ip協定即可)

本文轉自快樂就好部落格園部落格,原文連結:http://www.cnblogs.com/happyday56/p/3837383.html,如需轉載請自行聯系原作者