事務的功能在sqlserver中由來已久,因為最近在做一個數據同步方案,所以有機會再次研究一下它以及快照等,發現還是有很多不錯的功能和改進的。這里以sqlserver2008的事務發布功能為例,對發布訂閱的方式簡要介紹一下操作流程,一方面做個總結備份,一方面與大家進行一下分享和交流。費話就不多說了,進入一下今天的正題:)
這里要說明一下環境:首先我在本地局域網內有兩臺安裝有sqlserver2008的機器(注意:已發布的快照版本無法向老版本數據庫兼容,意味著2008下創建的事務或快照發布,無法被sqlserver2005訂閱)。當然這兩臺機器要放在同一個網段,一方面出現性能和安全性考慮,另一方面是我目前還沒有找到跨不同網段的快照應用方案(可行性的那種)。
好了,這里我以我們產品數據庫為準來介紹一下如何通過發布訂閱的方式來進行數據同步。
首先,在要發布的數據庫上創建一個我們的產品數據庫(這里叫做dnt_new),然后在該數據庫實例的左側導航的“復制”--“本地發布”上擊右鍵,然后選擇“新建發布”,如下:
點擊下一步,然后在接下來的窗口中選擇“事務發布”,如下圖:
然后就是“項目問題窗口”,因為之前已用dbo身份登陸,所以這里只要點擊下一步即可,如下圖:
然后在‘代理安全性'窗口中,點擊“安全設置”按鈕:
然后點擊下一步按鈕:
點擊“完成按鈕”,這里系統就開始根據之前收集的信息來創建該發布對象信息了,如下:
這時系統就會啟動“新建訂閱”向導,點擊下一步,并在“發布”窗口中的“發布服務器”下拉框中選擇“查打發布sqlserver服務器”項,如下:
選擇之前我們創建的那個發布對象“dnt_new_snap”,接著點擊下一步:
點擊下一步,然后在‘分發代理安全性'窗口中,點擊列表框中的‘…'來設置安裝性,并做如下設置(注意紅框部分):
點擊下一步,在窗口中選擇“立即執行”:
完成了這一步,點擊下一步按鈕,然后就可以創建該訂閱對象了,如果一切運行正常,sqlserver就會從‘發布服務器'那邊,將之前指定的數據表和存儲過程等同步到當前的‘訂閱數據庫'中了。
這時我們可以在源數據庫(發布服務器)上的表中添加或修改指定表數據信息,在等待1-3秒之后,所做的添加和修改就會同步到‘訂閱數據庫'上的相應表中??磥砟康氖沁_到了,呵呵。
好了,今天的內容就到這里了。
注:本文中的兩臺機器必定是可以使用sqlserver客戶端互聯(在sqlserver studio中設置'允許遠程鏈接',同時要設置相應的ip地址,以及在配置管理器中開啟tcp/ip協議即可)
作者: daizhj, 代震軍
新聞熱點
疑難解答