SQLServer2005在複製功能中建立釋出訂閱(圖)
一、複製簡介
複製是將資料或資料庫物件從一個資料庫複製和分發到另外一個資料庫,並進行資料同步,從而使源資料庫和目標資料庫保持一致。使用複製,可以在區域網和廣域網、撥號連線、無線連線和 Internet 上將資料分發到不同位置以及分發給遠端或移動使用者。
一組SQL SERVER2005複製有釋出伺服器、分發伺服器、訂閱服伺服器(圖1 複製伺服器之間的關係圖)組成,他們之間的關係類似於書報行業的報社或出版社、郵局或書店、讀者之間的關係。以報紙發行為例說明,釋出伺服器類似於報社,報社提供報刊的內容並印刷,是資料來源;分發伺服器相當於郵局,他將各報社的報刊送(分發)到訂戶手中;訂閱伺服器相當於訂戶,從郵局那裡收到報刊。在實際的複製中,釋出伺服器是一種資料庫例項,它透過複製向其他位置提供資料,分發伺服器也是一種資料庫例項,它起著儲存區的作用,用於複製與一個或多個釋出伺服器相關聯的特定資料。每個釋出伺服器都與分發伺服器上的單個資料庫(稱作分發資料庫)相關聯。分發資料庫儲存複製狀態資料和有關釋出的後設資料,並且在某些情況下為從釋出伺服器向訂閱伺服器移動的資料起著排隊的作用。在很多情況下,一個資料庫伺服器例項充當釋出伺服器和分發伺服器兩個角色。這稱為“本地分發伺服器”。訂閱伺服器是接收復制資料的資料庫例項。一個訂閱伺服器可以從多個釋出伺服器和釋出接收資料。
(圖1)
複製有三種類:事務複製、快照複製、合併複製。事務複製是將複製啟用後的所有釋出伺服器上釋出的內容在修改時傳給訂閱伺服器,資料更改將按照其在釋出伺服器上發生的順序和事務邊界,應用於訂閱伺服器,在釋出內部可以保證事務的一致性。快照複製將資料以特定時刻的瞬時狀態分發,而不監視對資料的更新。發生同步時,將生成完整的快照並將其傳送到訂閱伺服器。合併複製通常是從釋出資料庫物件和資料的快照開始,並且用觸發器跟蹤在釋出伺服器和訂閱伺服器上所做的後續資料更改和架構修改。訂閱伺服器在連線到網路時將與釋出伺服器進行同步,並交換自上次同步以來發布伺服器和訂閱伺服器之間發生更改的所有行。
二、複製例項
這裡以配置一個事務複製來說明覆制配置過程 。
試驗在同一臺機器的二個例項間進行,例項名分別是SERVER01、SERVER02 。將SERVER01配置釋出伺服器和分發伺服器(也就是前面提到的“本地分發伺服器”),SERVER02配置為訂閱伺服器。在本例中將SERVER01中一個DBCoper庫中person表作為釋出的資料,在釋出前請確保person表有主鍵、SQL SERVER 代理自動啟動、釋出資料庫是日誌是完整模式。
第一步:完全備份SERVER01 DBCopy資料庫,在SERVER02上恢復DBCopy資料庫(複製前的同步,使用釋出的源和目標資料一致)也就是使兩個要進行操作的資料庫在資料上要保持一致
第二步:在SERVER01上設定釋出和分發
A 在SERVER01的複製節點—>本地釋出-右鍵選擇新建訂閱(圖2)
()(圖2)
B B 在新建釋出嚮導中首先要求選擇分發伺服器,本例選擇本機作為分發伺服器,選擇預設值。(圖3)
(圖3)
C 嚮導第三步要求選擇快照的路徑,一般情況下選擇預設路徑也可以選擇其建立的路徑(如下圖),這一步在建立釋出時不會出現,但在複製節點點選滑鼠右鍵選擇配置釋出時,會出現選擇快照路徑的選擇,
D 嚮導第四步選擇釋出的資料庫(如圖四),選擇DBCopy,
(圖4)
E 接著選擇釋出的型別,這裡選擇事務複製(如圖5)
(圖5)
F 選擇釋出的內容(PERSON),這裡不僅可以發表,還可以釋出其他的資料庫物件,比如函式。在選擇某一個表之後還可以選擇釋出某一列或幾列。在這下一個步驟中(如下圖6下面的圖)可以按條件同步資料,介面中可以選擇要釋出的行。此時選擇的PERSON,也可以多個表同時選擇,當此時選擇的表中資料進行事務操作(增刪改)後,則會去同步訂閱的資料庫,但是訂閱中建立的資料庫不能同步到釋出資料庫中也就是此時選擇的資料庫
PERSON
(圖6)
G 設定釋出的內容之後設定 執行SQL代理的賬號。設定如下:
(圖7)
H 設定上一步之後,給複製起個名字PersonCopy。到此為止,釋出和分發已配置成功。(如圖8)
(圖8)
第三步:配置訂閱。
訂閱有兩種方種,一種是由釋出伺服器向訂閱伺服器“推”資料,由訂閱伺服器去請求訂閱資料。本例在SERVER02上設定請求訂閱。
A 第一步在SERVER02複製節點右擊訂閱,新建訂閱(圖9)
(圖9)
B 選擇釋出伺服器,在下拉選單框中選擇查詢SQL SERVER 釋出伺服器,(也就是上面建立的釋出伺服器,也可以在釋出伺服器下拉選單框中選擇“查詢sql server釋出伺服器”)選擇SERVER01,就可以看到剛才新建的釋出PersonCopy。如圖(10)
(圖10)
C 選擇訂閱方式。(圖11) 這裡選擇請求訂閱
(圖11)
D 選擇訂閱的本地資料庫(如圖12)。
(圖12)
點選下一步,在圖處右邊的"..."按鈕處點選出現如下圖,選擇在圖選擇的部分
再點選下一步,完成,就可以了。
E 設定完本地資料庫之後要求設定執行代理的安全性,設定成SQL 代理賬號。完成以上設定後,訂閱已設定完成。
在SERVER01表中插入一條新記錄後,在SERVER02中去檢查是否同步過來。一般來說,幾乎SERVER01執行完了,SERVER02就可以看到更新後的資料
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/66009/viewspace-1047257/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Spring 中的釋出-訂閱模式Spring模式
- SQLServer 2012複製訂閱資料訂閱過程SQLServer
- 釋出訂閱EventEmitterMIT
- 釋出訂閱模式模式
- openGauss 釋出訂閱
- Redis釋出訂閱Redis
- C# 中 釋出訂閱例項C#
- JavaScript中釋出/訂閱模式的理解JavaScript模式
- 設計模式之釋出訂閱模式(2) Redis 釋出/訂閱模式設計模式Redis
- JS訂閱釋出模式JS模式
- 釋出訂閱管道化
- openGauss-釋出訂閱
- mqtt訂閱和釋出MQQT
- LightDB訂閱和釋出
- JMeter MQTT 在訂閱與釋出測試場景中的使用JMeterMQQT
- Javascript(七)釋出-訂閱模式JavaScript模式
- 釋出訂閱模式學習模式
- Laravel Redis釋出與訂閱.LaravelRedis
- Redis 的訂閱與釋出Redis
- RabbitMQ 入門 - 釋出 / 訂閱MQ
- Sql Server實時監控釋出訂閱複製Replication、subscription有多少延遲的方法SQLServer
- 設計模式之釋出訂閱模式(1) 一文搞懂釋出訂閱模式設計模式
- 手寫一個node中的釋出訂閱
- 釋出訂閱模式---模擬Node中的EventEmitter模式MIT
- 每日 30 秒 ⏱ 釋出與訂閱
- 瑞士軍刀redis - 釋出訂閱Redis
- node 訂閱釋出及實現
- redis 釋出與訂閱原理分析Redis
- Redis系列(八):釋出與訂閱Redis
- 行為型:釋出訂閱模式模式
- MQTT 釋出/訂閱模式介紹MQQT模式
- 手寫事件釋出訂閱框架事件框架
- javascript中的設計模式之釋出-訂閱模式JavaScript設計模式
- Redis 釋出訂閱,小功能大用處,真沒那麼廢材!Redis
- js設計模式--釋出訂閱模式JS設計模式
- 釋出訂閱 VS 觀察者模式模式
- Redis的訊息釋出和訂閱Redis
- 基於 Redis 的訂閱與釋出Redis
- 奇技淫巧之釋出訂閱模式模式