使用Sqlserver事務發佈實現數據同步

首先,在要發佈的數據庫上創建一個我們的產品數據庫(這裏叫做dnt_new),然後在該數據庫實例的左側導航的“複製”--“本地發佈”上擊右鍵,然後選擇“新建發佈”,如下:

      sqlserver_snap_1

 

      這樣,系統就會啓動‘發佈嚮導’來引導大家,這裏我們在歡迎界面下點擊"下一步”,然後在當前窗口中選擇要發佈的數據庫,如下:

sqlserver_snap_2

      點擊下一步,然後在接下來的窗口中選擇“事務發佈”,如下圖:

sqlserver_snap_3

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

sqlserver_snap_4

    

       然後就是“項目問題窗口”,因爲之前已用dbo身份登陸,所以這裏只要點擊下一步即可,如下圖:

sqlserver_snap_5

        這裏可以通過“添加”方式來過濾要同步的數據信息,因爲要做全表數據同步,所以這裏就不做設置了,感興趣的朋友可以自己研究一下,這裏接着點擊下一步,如下:

sqlserver_snap_6

      然後在‘代理安全性’窗口中,點擊“安全設置”按鈕:

sqlserver_snap_7

       在彈出的‘安全設置’子窗口中設置如下信息,並點擊‘確定’按鈕:

sqlserver_snap_8

       然後點擊下一步按鈕:

sqlserver_snap_9

      選擇“創建發佈”複選框,然後點擊下一步,這時嚮導會讓您輸入“發佈名稱”,這裏命名爲“dnt_new_snap”:

sqlserver_snap_10

 

      點擊“完成按鈕”,這裏系統就開始根據之前收集的信息來創建該發佈對象信息了,如下:

sqlserver_snap_11

 

 

      到這裏,‘創建發佈’的工作就完成了。下面介紹一下創建訂閱的流程。在另一個機器的sqlserver實例上,打開該實例並使用“複製”—“新建訂閱”,如下圖:

sqlserver_snap_12 

 

        這時系統就會啓動“新建訂閱”嚮導,點擊下一步,並在“發佈”窗口中的“發佈服務器”下拉框中選擇“查打發布sqlserver服務器”項,如下:

sqlserver_snap_13

     然後在彈出窗口中選擇之前‘創建發佈時所使用的數據庫實例’並進行驗進登陸,這時,發佈服務器的信息就會出現在下方的列表框中:

sqlserver_snap_14 

 

        選擇之前我們創建的那個發佈對象“dnt_new_snap”,接着點擊下一步:

sqlserver_snap_15

       在分發代理位置窗口中,選擇“在分佈服務器上運行所有代理”,然後點擊下一步,然後在“訂閱服務器”窗口中的訂閱數據庫列表框中選擇一下要同步的訂閱數據庫名稱(可新建):

sqlserver_snap_16

        點擊下一步,然後在‘分發代理安全性’窗口中,點擊列表框中的‘…’來設置安裝性,並做如下設置(注意紅框部分):

sqlserver_snap_18

 

 

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

sqlserver_snap_19

 

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

sqlserver_snap_20

       完成了這一步,點擊下一步按鈕,然後就可以創建該訂閱對象了,如果一切運行正常,sqlserver就會從‘發佈服務器’那邊,將之前指定的數據表和存儲過程等同步到當前的‘訂閱數據庫’中了。

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

 注:本文中的兩臺機器必定是可以使用sqlserver客戶端互聯(在sqlserver studio中設置'允許遠程鏈接',同時要設置相應的ip地址,以及在配置管理器中開啓tcp/ip協議即可)

發佈了3 篇原創文章 · 獲贊 0 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章