使用Sqlserver事務(wù)發(fā)布實(shí)現(xiàn)數(shù)據(jù)同步(sql2008)
事務(wù)的功能在sqlserver中由來已久,因?yàn)樽罱谧鲆粋€(gè)數(shù)據(jù)同步方案,所以有機(jī)會(huì)再次研究一下它以及快照等,發(fā)現(xiàn)還是有很多不錯(cuò)的功能和改進(jìn)的。這里以sqlserver2008的事務(wù)發(fā)布功能為例,對發(fā)布訂閱的方式簡要介紹一下操作流程,一方面做個(gè)總結(jié)備份,一方面與大家進(jìn)行一下分享和交流。費(fèi)話就不多說了,進(jìn)入一下今天的正題:)
這里要說明一下環(huán)境:首先我在本地局域網(wǎng)內(nèi)有兩臺(tái)安裝有sqlserver2008的機(jī)器(注意:已發(fā)布的快照版本無法向老版本數(shù)據(jù)庫兼容,意味著2008下創(chuàng)建的事務(wù)或快照發(fā)布,無法被sqlserver2005訂閱)。當(dāng)然這兩臺(tái)機(jī)器要放在同一個(gè)網(wǎng)段,一方面出現(xiàn)性能和安全性考慮,另一方面是我目前還沒有找到跨不同網(wǎng)段的快照應(yīng)用方案(可行性的那種)。
好了,這里我以我們產(chǎn)品數(shù)據(jù)庫為準(zhǔn)來介紹一下如何通過發(fā)布訂閱的方式來進(jìn)行數(shù)據(jù)同步。
首先,在要發(fā)布的數(shù)據(jù)庫上創(chuàng)建一個(gè)我們的產(chǎn)品數(shù)據(jù)庫(這里叫做dnt_new),然后在該數(shù)據(jù)庫實(shí)例的左側(cè)導(dǎo)航的“復(fù)制”--“本地發(fā)布”上擊右鍵,然后選擇“新建發(fā)布”,如下:
這樣,系統(tǒng)就會(huì)啟動(dòng)‘發(fā)布向?qū)?來引導(dǎo)大家,這里我們在歡迎界面下點(diǎn)擊"下一步”,然后在當(dāng)前窗口中選擇要發(fā)布的數(shù)據(jù)庫,如下:
點(diǎn)擊下一步,然后在接下來的窗口中選擇“事務(wù)發(fā)布”,如下圖:
然后點(diǎn)擊下一步,選擇要同步的數(shù)據(jù)對象(數(shù)據(jù)表,存儲(chǔ)過程,自定義函數(shù)等),如下:
然后就是“項(xiàng)目問題窗口”,因?yàn)橹耙延胐bo身份登陸,所以這里只要點(diǎn)擊下一步即可,如下圖:
這里可以通過“添加”方式來過濾要同步的數(shù)據(jù)信息,因?yàn)橐鋈頂?shù)據(jù)同步,所以這里就不做設(shè)置了,感興趣的朋友可以自己研究一下,這里接著點(diǎn)擊下一步,如下:
然后在‘代理安全性'窗口中,點(diǎn)擊“安全設(shè)置”按鈕:
在彈出的‘安全設(shè)置'子窗口中設(shè)置如下信息,并點(diǎn)擊‘確定'按鈕:
然后點(diǎn)擊下一步按鈕:
選擇“創(chuàng)建發(fā)布”復(fù)選框,然后點(diǎn)擊下一步,這時(shí)向?qū)?huì)讓您輸入“發(fā)布名稱”,這里命名為“dnt_new_snap”:
點(diǎn)擊“完成按鈕”,這里系統(tǒng)就開始根據(jù)之前收集的信息來創(chuàng)建該發(fā)布對象信息了,如下:
到這里,‘創(chuàng)建發(fā)布'的工作就完成了。下面介紹一下創(chuàng)建訂閱的流程。在另一個(gè)機(jī)器的sqlserver實(shí)例上,打開該實(shí)例并使用“復(fù)制”—“新建訂閱”,如下圖:
這時(shí)系統(tǒng)就會(huì)啟動(dòng)“新建訂閱”向?qū)?,點(diǎn)擊下一步,并在“發(fā)布”窗口中的“發(fā)布服務(wù)器”下拉框中選擇“查打發(fā)布sqlserver服務(wù)器”項(xiàng),如下:
然后在彈出窗口中選擇之前‘創(chuàng)建發(fā)布時(shí)所使用的數(shù)據(jù)庫實(shí)例'并進(jìn)行驗(yàn)進(jìn)登陸,這時(shí),發(fā)布服務(wù)器的信息就會(huì)出現(xiàn)在下方的列表框中:
選擇之前我們創(chuàng)建的那個(gè)發(fā)布對象“dnt_new_snap”,接著點(diǎn)擊下一步:
在分發(fā)代理位置窗口中,選擇“在分布服務(wù)器上運(yùn)行所有代理”,然后點(diǎn)擊下一步,然后在“訂閱服務(wù)器”窗口中的訂閱數(shù)據(jù)庫列表框中選擇一下要同步的訂閱數(shù)據(jù)庫名稱(可新建):
點(diǎn)擊下一步,然后在‘分發(fā)代理安全性'窗口中,點(diǎn)擊列表框中的‘…'來設(shè)置安裝性,并做如下設(shè)置(注意紅框部分):
然后點(diǎn)擊“確定”按鈕,之后在向?qū)宵c(diǎn)擊“下一步”按鈕,這時(shí)系統(tǒng)就會(huì)顯示“代理計(jì)劃執(zhí)行方式”窗口,選擇“連續(xù)運(yùn)行”:
點(diǎn)擊下一步,在窗口中選擇“立即執(zhí)行”:
完成了這一步,點(diǎn)擊下一步按鈕,然后就可以創(chuàng)建該訂閱對象了,如果一切運(yùn)行正常,sqlserver就會(huì)從‘發(fā)布服務(wù)器'那邊,將之前指定的數(shù)據(jù)表和存儲(chǔ)過程等同步到當(dāng)前的‘訂閱數(shù)據(jù)庫'中了。
這時(shí)我們可以在源數(shù)據(jù)庫(發(fā)布服務(wù)器)上的表中添加或修改指定表數(shù)據(jù)信息,在等待1-3秒之后,所做的添加和修改就會(huì)同步到‘訂閱數(shù)據(jù)庫'上的相應(yīng)表中。看來目的是達(dá)到了,呵呵。
好了,今天的內(nèi)容就到這里了。
注:本文中的兩臺(tái)機(jī)器必定是可以使用sqlserver客戶端互聯(lián)(在sqlserver studio中設(shè)置'允許遠(yuǎn)程鏈接',同時(shí)要設(shè)置相應(yīng)的ip地址,以及在配置管理器中開啟tcp/ip協(xié)議即可)
作者: daizhj, 代震軍
- SQL Server實(shí)時(shí)同步更新遠(yuǎn)程數(shù)據(jù)庫遇到的問題小結(jié)
- SQL Server 跨庫同步數(shù)據(jù)
- SqlServer2008 數(shù)據(jù)庫同步的兩種方式(發(fā)布、訂閱使用方法)
- 通過SQL Server 2008數(shù)據(jù)庫復(fù)制實(shí)現(xiàn)數(shù)據(jù)庫同步備份
- SQL Server 2005 鏡像構(gòu)建手冊(sql2005數(shù)據(jù)庫同步鏡像方案)
- 深入SqlServer2008 數(shù)據(jù)庫同步的兩種方式(Sql JOB)的分析介紹
- SQL Server兩表數(shù)據(jù)同步的多種方法詳解
相關(guān)文章
SQLServer2008存儲(chǔ)過程實(shí)現(xiàn)數(shù)據(jù)插入與更新
這篇文章主要介紹了SQLServer2008下存儲(chǔ)過程實(shí)現(xiàn)數(shù)據(jù)插入與更新,需要的朋友可以參考下2018-08-08SQL Server 2008數(shù)據(jù)庫設(shè)置定期自動(dòng)備份的方法
這篇文章主要給大家介紹了關(guān)于SQL Server 2008數(shù)據(jù)庫設(shè)置定期自動(dòng)備份的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用SQL Server2008具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧2018-11-11windows系統(tǒng)下SQL?Server?2008超詳細(xì)安裝教程
有很多同學(xué)不知道怎么安裝SQL Server 2008,今天我就在這里教大家怎么安裝SQL Server 2008,下面這篇文章主要給大家介紹了關(guān)于windows系統(tǒng)下SQL?Server?2008超詳細(xì)安裝教程的相關(guān)資料,需要的朋友可以參考下2022-12-12SQL Server 2008中的代碼安全(三) 通過PassPhrase加密
本文主要涉及EncryptByPassPhrase和DecryptByPassPhrase函數(shù)進(jìn)行通行短語(PassPhrase)加密。2011-06-06SQL Server 2008 R2 應(yīng)用及多服務(wù)器管理
所謂多服務(wù)器管理 (Multiserver Administration)就是SQL Server 2008 R2提供的自動(dòng)管理多個(gè) SQL Server 實(shí)例過程的功能。在多服務(wù)器管理中,連接到主服務(wù)器并從其接收作業(yè)的服務(wù)器被稱之為目標(biāo)服務(wù)器。2014-10-10SQL Server 2008 R2占用cpu、內(nèi)存越來越大的兩種解決方法
這篇文章主要介紹了SQL Server 2008 R2占用內(nèi)存越來越大的兩種解決方法,需要的朋友可以參考下2017-10-10SQL Server 2008 數(shù)據(jù)庫鏡像部署實(shí)例之三 配置見證服務(wù)器
前面已經(jīng)完成了鏡像數(shù)據(jù)庫的配置,并進(jìn)行那個(gè)了故障轉(zhuǎn)移測試。接下來將部署見證服務(wù)器,實(shí)現(xiàn)自動(dòng)故障轉(zhuǎn)移2013-11-11如何在SQL Server 2008下輕松調(diào)試T-SQL語句和存儲(chǔ)過程
sqlserver2008調(diào)試的要求和條件:如果在引擎所在的電腦或服務(wù)器上調(diào)試,則只需要SA或者WINDOWS用戶登陸即可。如果是異地調(diào)試,則需要設(shè)置防火墻例外,增加SSMS和SQLSERVER.EXE為允許,增加135端口允許通過2013-10-10SQLServer 2008中SQL增強(qiáng)之一:Values新用途
SQL Server 2008中新增功能:可以使用單個(gè)Insert命令插入多行2011-05-05