SQL Server發布訂閱功能研究


前提:

發布訂閱只能是同一個內網的機器上才能使用,其實這個可以用配置管理器的別名功能設置之后就可以了,外網的也能通過這樣的方式來搞。

配置過程參考老D的文章:http://www.cnblogs.com/daizhj/archive/2009/11/18/1605293.html

原理圖:

單向:

雙向:

參考:http://bbs.51cto.com/thread-1165966-1.html

SQL Server發布訂閱功能測試:

(我發覺這個功能很不行,為什么不行,我下面其中一台設置錯誤了就要全部重來,那么如果我下面有幾百台機器,怎么重來?)

1、采用事務發布/快照發布進行發布訂閱機制只能是讀寫分離的方案,也就是說A發布B訂閱,只能是操作A的數據,B是同步過來,即使在B新增后,A不會新增。(也就是說單向同步,不是雙向的)

1.1、采用合並復制進行發布訂閱是可以A發布B訂閱,A操作B得到最新數據,B操作A得到最新數據。(也就是說雙向),(自增ID)這個功能測試后發現兩者的數據是經過處理的,比如A的之間為100,B的最大值為9,下一條是10,那么同步過來之后,A的這台數據里面就不是100了,而是10;也就說數據會經過處理。這個功能會在每張表上增加一個rowid的列,這個列是GUID,估計是用於雙向同步的作用而設計的。

2、2008新建訂閱時,如果輸入錯誤,是找不到這個訂閱的,只能刪除發布,再來重新搞。

3、2008上如果數據庫連接端口更改,不是1433默認的之后,那么兩端同步的時候都會不行,即使在配置管理器上新建了別名,也是不行的。(最后發現是可以的,如果新建了別名之后,要把原來的發布刪除再重建)

4、同步的時間間隔大概是1分鍾左右

操作說明:

一、基本的訂閱發布過程配置

事務發布操作省略,配置過程參考老D的文章:http://www.cnblogs.com/daizhj/archive/2009/11/18/1605293.html

合並發布:

 

注意:這里是本機sa登錄密碼

 

訂閱:

注意:這里是用來訂閱的數據庫

 

注意:這里是本機sa登錄密碼

 

 

最后查看效果:

 

 

發布類型官方說明:

快照發布:

發布服務器按預定的時間間隔向訂閱服務器發送已發布數據的快照。

事務發布:

在訂閱服務器收到已發布數據的初始快照后,發布服務器將事務流式傳輸到訂閱服務器。

具有可更新訂閱的事務發布:

在 SQL Server 訂閱服務器收到已發布數據的初始快照后,發布服務器將事務流式傳輸到訂閱服務器。來自訂閱服務器的事務被應用於發布服務器。

合並發布:

在訂閱服務器收到已發布數據的初始快照后,發布服務器和訂閱服務器可以獨立更新已發布數據。更改會定期合並。Microsoft SQL Server Compact Edition 只能訂閱合並發布。

通俗說明:

快照發布:

發行端依排程定時將快照集傳送到訂閱端,缺點是數據量很大,時間較長。

這個只能是單向發布。

事務發布:

發行端第一次與訂閱端同步數據完后,依排程定時傳送日志資料,供訂閱端重做。優點是數據量較小,適合長期同步數據所用。

這個只能是單向發布。

合並復制:

合並復制可以實現數據的多處更新,當更新沖突時,可以設置規則,比如北京和上海的服務器,我可以設置北京的服務器永遠贏。

也就是說雙向發布。

這里參考這位SQL MVP的文章:http://www.cnblogs.com/CareySon/p/3300936.html

深入說明:

參考這本書【Pro SQL Server 2005 Replication】

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM