SQL Server 2005高可用性之复制(http://tech.it168.com/db/s/2007-05-15/200705150909375.shtml)
??? 一、 “復(fù)制”簡介?
???復(fù)制是將數(shù)據(jù)或數(shù)據(jù)庫對象從一個數(shù)據(jù)庫復(fù)制和分發(fā)到另外一個數(shù)據(jù)庫,并進行數(shù)據(jù)同步,從而使源數(shù)據(jù)庫和目標(biāo)數(shù)據(jù)庫保持一致。使用復(fù)制,可以在局域網(wǎng)和廣域網(wǎng)、撥號連接、無線連接和 Internet 上將數(shù)據(jù)分發(fā)到不同位置以及分發(fā)給遠程或移動用戶。?
???一組SQL Server 2005復(fù)制有發(fā)布服務(wù)器、分發(fā)服務(wù)器、訂閱服服務(wù)器(圖1:復(fù)制服務(wù)器之間的關(guān)系圖)組成,它們之間的關(guān)系類似于書報行業(yè)的報社或出版社、郵局或書店、讀者之間的關(guān)系。?
???以報紙發(fā)行為例說明,發(fā)布服務(wù)器類似于報社,報社提供報刊的內(nèi)容并印刷,是數(shù)據(jù)源;分發(fā)服務(wù)器相當(dāng)于郵局,它將各報社的報刊送(分發(fā))到訂戶手中;訂閱服務(wù)器相當(dāng)于訂戶,從郵局那里收到報刊。在實際的復(fù)制中,發(fā)布服務(wù)器是一種數(shù)據(jù)庫實例,它通過復(fù)制向其他位置提供數(shù)據(jù),分發(fā)服務(wù)器也是一種數(shù)據(jù)庫實例,它起著存儲區(qū)的作用,用于復(fù)制與一個或多個發(fā)布服務(wù)器相關(guān)聯(lián)的特定數(shù)據(jù)。每個發(fā)布服務(wù)器都與分發(fā)服務(wù)器上的單個數(shù)據(jù)庫(稱作“分發(fā)數(shù)據(jù)庫”)相關(guān)聯(lián)。分發(fā)數(shù)據(jù)庫存儲復(fù)制狀態(tài)數(shù)據(jù)和有關(guān)發(fā)布的元數(shù)據(jù),并且在某些情況下為從發(fā)布服務(wù)器向訂閱服務(wù)器移動的數(shù)據(jù)起著排隊的作用。在很多情況下,一個數(shù)據(jù)庫服務(wù)器實例充當(dāng)發(fā)布服務(wù)器和分發(fā)服務(wù)器兩個角色,這稱為“本地分發(fā)服務(wù)器”。訂閱服務(wù)器是接收復(fù)制數(shù)據(jù)的數(shù)據(jù)庫實例。一個訂閱服務(wù)器可以從多個發(fā)布服務(wù)器和發(fā)布接收數(shù)據(jù)。
圖1
??? 復(fù)制有三種類:事務(wù)復(fù)制、快照復(fù)制、合并復(fù)制。
- ? 事務(wù)復(fù)制:事務(wù)復(fù)制是將復(fù)制啟用后的所有發(fā)布服務(wù)器上發(fā)布的內(nèi)容在修改時傳給訂閱服務(wù)器,數(shù)據(jù)更改將按照其在發(fā)布服務(wù)器上發(fā)生的順序和事務(wù)邊界,應(yīng)用于訂閱服務(wù)器,在發(fā)布內(nèi)部可以保證事務(wù)的一致性。
- ? 快照復(fù)制:快照復(fù)制將數(shù)據(jù)以特定時刻的瞬時狀態(tài)分發(fā),而不監(jiān)視對數(shù)據(jù)的更新。發(fā)生同步時,將生成完整的快照并將其發(fā)送到訂閱服務(wù)器。
- ? 合并復(fù)制:合并復(fù)制通常是從發(fā)布數(shù)據(jù)庫對象和數(shù)據(jù)的快照開始,并且用觸發(fā)器跟蹤在發(fā)布服務(wù)器和訂閱服務(wù)器上所做的后續(xù)數(shù)據(jù)更改和架構(gòu)修改。訂閱服務(wù)器在連接到網(wǎng)絡(luò)時將與發(fā)布服務(wù)器進行同步,并交換自上次同步以來發(fā)布服務(wù)器和訂閱服務(wù)器之間發(fā)生更改的所有行。
??? 訂閱有兩種方種,一種是由發(fā)布服務(wù)器向訂閱服務(wù)器“推”數(shù)據(jù),由訂閱服務(wù)器去請求訂閱數(shù)據(jù)。本例在SERVER02上設(shè)置請求訂閱。?
??? A、 第一步在SERVER02復(fù)制節(jié)點右擊訂閱,新建訂閱(圖9)。
圖9
??? B、 選擇發(fā)布服務(wù)器,在下拉列表框中選擇查找SQL SERVER 發(fā)布服務(wù)器,選擇SERVER01,就可以看到剛才新建的發(fā)布PersonCopy(如圖10)。
圖10
??? C、 選擇訂閱方式(如圖11), 這里選擇請求訂閱。
圖11
??? D、 選擇訂閱的本地數(shù)據(jù)庫(如圖12)。
圖12
??? E、 設(shè)置完本地數(shù)據(jù)庫之后要求設(shè)置運行代理的安全性,設(shè)置成SQL 代理賬號。完成以上設(shè)置后,訂閱已設(shè)置完成。
??? 在SERVER01表中插入一條新記錄后,在SERVER02中去檢查是否同步過來。一般來說,幾乎SERVER01執(zhí)行完了,SERVER02就可以看到更新后的數(shù)據(jù)。
??? 這里以配置一個事務(wù)復(fù)制來說明復(fù)制配置過程 。?
??? 試驗在同一臺機器的二個實例間進行,實例名分別是SERVER01、SERVER02 。將SERVER01配置發(fā)布服務(wù)器和分發(fā)服務(wù)器(也就是前面提到的“本地分發(fā)服務(wù)器”),SERVER02配置為訂閱服務(wù)器。在本例中將SERVER01中一個DBCoper庫中person表作為發(fā)布的數(shù)據(jù),在發(fā)布前請確保person表有主鍵、SQL SERVER 代理自動啟動、發(fā)布數(shù)據(jù)庫是日志是完整模式。?
??? 第一步:完全備份SERVER01 DBCopy數(shù)據(jù)庫,在SERVER02上恢復(fù)DBCopy數(shù)據(jù)庫(復(fù)制前的同步,使用發(fā)布的源和目標(biāo)數(shù)據(jù)一致)。?
??????第二步: 在SERVER01上設(shè)置發(fā)布和分發(fā)。?
??? A、 在SERVER01的復(fù)制節(jié)點-->本地發(fā)布右鍵選擇新建訂閱(如圖2)。
圖2
??? B、 在新建發(fā)布向?qū)е惺紫纫筮x擇分發(fā)服務(wù)器,本例選擇本機作為分發(fā)服務(wù)器,選擇默認值(如圖3)。
圖3
??? C、 向?qū)У谌揭筮x擇快照的路徑,一般情況下選擇默認路徑。?
??? D、 向?qū)У谒牟竭x擇發(fā)布的數(shù)據(jù)庫(如圖四),選擇DBCopy。?
圖4
??? E、 接著選擇發(fā)布的類型,這里選擇事務(wù)復(fù)制(如圖5)。
圖5
??? F、 選擇發(fā)布的內(nèi)容(PERSON),這里不僅可以發(fā)表,還可以發(fā)布其他的數(shù)據(jù)庫對象,比如函數(shù)。在選擇某一個表之后還可以選擇發(fā)布某一列或幾列。在這個步驟下一個界面中可以選擇要發(fā)布的行。
圖6
??? G、 設(shè)置發(fā)布的內(nèi)容之后設(shè)置 運行SQL代理的賬號。設(shè)置如下:
圖7
??? H、 設(shè)置上一步之后,給復(fù)制起個名字PersonCopy。到此為止,發(fā)布和分發(fā)已配置成功(如圖8)。
圖8
轉(zhuǎn)載于:https://www.cnblogs.com/Steven-zhou-2005/archive/2008/03/11/1100484.html
總結(jié)
以上是生活随笔為你收集整理的SQL Server 2005高可用性之复制(http://tech.it168.com/db/s/2007-05-15/200705150909375.shtml)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大家一起来博皮——2:液态布局和固态布局
- 下一篇: 主机主浏览服务器宣告的运作原理机制