版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、SQL SERVER 的數(shù)據(jù)庫復制數(shù)據(jù)庫的復制是分布式數(shù)據(jù)庫應用程序中常用的一種數(shù)據(jù)拷貝技術,它將一個數(shù)據(jù)庫中的數(shù)據(jù)拷貝到通過局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)或Internet網(wǎng)絡連接的不同站點或同一個服務器中的不同數(shù)據(jù)庫中,并能夠自動保持這些數(shù)據(jù)的同步,使各個拷貝具有相同的數(shù)據(jù)。一、SQL SERVER復制技術(一)、復制結(jié)構(gòu)SQL SERVR 數(shù)據(jù)復制基于“出版訂閱”模型,它由出版者、分發(fā)者和訂閱者三種服務器構(gòu)成。出版服務器標識其數(shù)據(jù)庫中的哪些數(shù)據(jù)用于復制,并檢測這些數(shù)據(jù)的變化和維護該站點中的所有出版信息。分發(fā)服務器中建立一個或多個分發(fā)數(shù)據(jù)庫,用來保存出版服務器的出版物,并向訂閱者傳遞它
2、們所訂閱的復制數(shù)據(jù)。訂閱服務器用于存儲復制數(shù)據(jù)和接收對復制數(shù)據(jù)的更改,SQL SERVE 7.0還允許修改訂閱服務器所接收到的出版物。出版服務器所出版數(shù)據(jù)的最小單位為條目,出版條目可以是數(shù)據(jù)庫中的表或存儲過程。SQL SERVER允許對所出版表添加縱向或橫向過濾器,從而使出版條目中只包含表中的某些列或其中的某些數(shù)據(jù)行,一組出版條目的集合構(gòu)成一個出版物。訂閱服務器對出版物的訂閱方式有推式訂閱和拉式訂閱兩種,SQL SERVER中的每個出版物均支持推式訂閱和拉式訂閱這兩種訂閱方式。所謂推式訂閱是指當出版物內(nèi)容被修改時,由出版服務器通知訂閱服務器,而不需要訂閱服務器進行查詢。推式訂閱的優(yōu)點是訂閱服務
3、器能夠及時了解出版數(shù)據(jù)的改變情況,但它相應加重了出版服務器的負載。所以,推式訂閱適合于需要近乎實時要求的數(shù)據(jù)復制。拉式訂閱是指由訂閱服務器定期輪詢出版服務器中出版物的內(nèi)容是否改變,之后決定是否需要再次進行復制。拉式訂閱能夠減輕出版服務器的負擔,所以 常用于擁有大量訂閱者的數(shù)據(jù)復制領域。此外,拉訂閱也適合于移動用戶,因為移動用戶與出版服務器間沒有永久固定的通信連接,他們采用訂閱方式,只是在需要時才查詢出版物內(nèi)容的變化情況。(二)復制代理SQL Server 復制部件采用模塊化設計,各種復制操作通過不同的復制代理實現(xiàn)。SQL Server 中的復制代理包括:快照代理:快照代理運行在 SQL Ser
4、ver 代理服務環(huán)境下。其功能是:為復制準備表結(jié)構(gòu)、初始化出版表和存儲過程的數(shù)據(jù)文件、將出版物快照存儲到分發(fā)服務器的分發(fā)數(shù)據(jù)庫中、并記錄分發(fā)數(shù)據(jù)庫的同步狀態(tài)信息。每個出版物在分發(fā)服務器上均運行著自己的快照代理,并通過快照代理與出版服務器連接。日志閱讀代理:將用于復制的事務從出版服務器的事務日志中拷貝到分發(fā)數(shù)據(jù)庫。每一個使用事務復制出版的數(shù)據(jù)庫在分發(fā)服務器上均運行著自己的日志閱讀代理,并通過該代理與出版服務器連接:分發(fā)代理:將保存在分發(fā)數(shù)據(jù)庫中的事務或出版物快照傳遞到訂閱者。分發(fā)代理運行在 SQL Server 代理服務環(huán)境下,可以直接使用SQL 企業(yè)管理進行管理。對于快照復制和事務復制,如果在
5、配置推訂閱時采用立即同步(所謂同步是指維護出版服務器上的出版物和訂閱服務器上的復制品之間具有相同的表結(jié)構(gòu)和數(shù)據(jù))方式,那么每個出版服務上在分發(fā)服務器上啟動各自的分發(fā)代理,并由它實現(xiàn)與訂閱者間的連接;如果將推訂閱配置為非立即同步方式,那么所有的快照或事務出版物在分發(fā)服務器上共享一個分發(fā)代理,并由它實現(xiàn)與訂閱者間的連接??煺蘸褪聞粘霭嫖锢嗛喌姆职l(fā)代理則運行在訂閱服務器上,而不是在分發(fā)服務器上。快照復制和事務復制沒有合并代理。(三)復制類型在分布式數(shù)據(jù)庫應用環(huán)境中,不同的應用領域?qū)?shù)據(jù)復制的要求各異,不可能有一種復制方法能夠適合所有領域中的應用需要。為此,SQL Server提供了以下三種復制類型
6、來滿足不同環(huán)境中的應用需要:快照復制:事務復制:合并復制:下面分別介紹三種復制的工作過程。1 快照復制快照復制是SQL Server中最簡單的一種復制方式,它拷貝數(shù)據(jù)庫中出版物在某一時刻的結(jié)構(gòu)和數(shù)據(jù)狀態(tài),即建立出版物快照,之后通過復代理將出版物快照復制給訂閱服務器。快照復制操作由快照代理和分發(fā)代理實現(xiàn)。快照代理將出版物中各條目(表)結(jié)構(gòu)和數(shù)據(jù)拷貝到分發(fā)服務器的快照文件(但不是分發(fā)數(shù)據(jù)庫)中,并在分發(fā)服務器的分發(fā)數(shù)據(jù) 庫中記錄復制同步操作。分發(fā)服務器再根據(jù)分發(fā)數(shù)據(jù) 庫中的同步記錄將快照文件傳遞到訂閱服務器的目的數(shù)據(jù)庫中。快照代理的具體工作過程為:快照代理建立從分發(fā)服務器到出版服務器的連接,并對出
7、版物中所包含的所有表(條目)設置共享鎖,以確保復制數(shù)據(jù)的一致性。快照代理再建立從出版服務器的連接,并將各出版條目的結(jié)構(gòu)拷貝到分發(fā)服務器的.sch文件中(實際拷貝的是建立復制表的Transact-SQL語句),該文件存儲在分發(fā)數(shù)據(jù)庫文件目錄下的一個子目錄中??煺沾碓俳姆职l(fā)服務器到出版服務器的連接,并將歷史記錄和所有錯誤寫入分發(fā)數(shù)據(jù)庫中??煺沾韺⒊霭娣掌魃铣霭嫖镏懈鳁l目的數(shù)據(jù)寫入分發(fā)服務器的數(shù)據(jù)文件中,該文件與出版物的結(jié)構(gòu)文件(*。sch)存儲在同一目錄下。數(shù)據(jù)文件和結(jié)構(gòu)文件構(gòu)成一個表在某一服務器,出版條目的數(shù)據(jù)文件采用SQL Server本地批拷貝文件格式(*.bcp)存儲,否則,數(shù)據(jù)
8、文件按文件格式存儲??煺沾硐蚍职l(fā)數(shù)據(jù)庫的Msrepl_commands和Msrepl_transactions表中添加記錄,說明同步集合的存儲位置和訂閱服務器的同步任務命令。分發(fā)數(shù)據(jù)庫中Msrepl_transactions和Msrepl_commands的表結(jié)構(gòu)如表所示Msrepl_transactions和Msrepl_commands的表結(jié)構(gòu)表名列名數(shù)據(jù)類型說明Msrepl_transactionsPublisher_database_idInt出版數(shù)據(jù)庫標識Xact_idVarbinary(16)事務標識號Xact_seqnoVarbinary(16)事務序列號Entry_timeD
9、atetime事務進入分發(fā)數(shù)據(jù)庫的日期和時間Msrepl_transactionsPublisher_database_idInt出版數(shù)據(jù)庫標識號Xact_seqnoVarbinary(16)事務序列號TypeInt命令類型Article_idInt條目標識號Originator_idInt操作者標識號Command_idInt命令標識號Partial_commandBit說明該命令是否為部分命令CommandVarbinary(1024)命令數(shù)據(jù)快照代理解除對出版條目所設置的共享鎖??煺諒椭七^程中,分發(fā)代理的工作步驟為:(1) 分發(fā)代理建立從運行該代理的服務器至分發(fā)服務器之間的連接。對于推訂
10、閱和拉訂閱,分發(fā)代理分別運行在分發(fā)服務器和訂閱服務器上。(2) 分發(fā)代理從分發(fā)數(shù)據(jù)庫的Msrepl_commands表中讀取同步集合位置,從Msrepl_transactions表中讀取訂閱服務器的同步命令。(3) 分發(fā)代理將結(jié)構(gòu)文件和數(shù)據(jù)文件傳遞到訂閱服務器,并根據(jù)同步命令在訂閱服務器的目的數(shù)據(jù)庫重新建立與出版物中各個條目相同的數(shù)據(jù)表,從而使出版物中所有條目同時被同步,保持所有表間的事務完整性和參照完整性。在以上操作過程中,分發(fā)代理鎖定它所影響的整個表,因此這時所有其它進程不能對該表設置排它鎖。2 事務復制在出版大型數(shù)據(jù)庫時,如果采用快照復制方式,分發(fā)服務器為完成復制操作,必須在每次出版物內(nèi)
11、容變化時從出版服務器中拷貝表結(jié)構(gòu)及其中的大量數(shù)據(jù),之后再將它們傳遞給訂閱服務器,這大大加重了網(wǎng)絡的通信負擔。對于低速連接的網(wǎng)絡環(huán)境,采用快照復制將嚴重影響應用程序的正常運行。為解決這一問題,SQL Server提供了事務復制方式。采用這種方式時,當訂閱服務器對出版服務器中的出版物做到初始同步后,SQL Server監(jiān)視INSERT、UUPDATE、DELETE等數(shù)據(jù)修改語句的執(zhí)行,并對影響出版物的事務進行標識。事務日志閱讀代理從事務日志中捕獲出版條目中數(shù)據(jù)的變化,并將引起這些變化的事務拷貝到分發(fā)服務器的分發(fā)數(shù)據(jù)庫中。之后,由分發(fā)服務器將這些事務傳遞給訂閱服務器,并在訂閱服務器上順序執(zhí)行這些事務
12、,對復制品做增量修改,從而保證訂閱服務器中的復制品與出版 服務器出版物中的數(shù)據(jù)一致(但不是實時一致)。由于事務的數(shù)據(jù)量遠小于它所操作的數(shù)據(jù)量,所以采用事務復制方式能夠有效減輕網(wǎng)絡的通信負擔。事務復制由快照代理、事務日志閱讀代理和分發(fā)代理實現(xiàn)??煺沾韺⒊霭嫖镏懈鳁l目(表)的結(jié)構(gòu)和數(shù)據(jù)拷貝到分發(fā)服務器的快照文件中,并在分發(fā)服務器的分發(fā)數(shù)據(jù)庫中記錄復制同步操作,快照代理的這一工作過程與快照復制中基本相同。但在事務復制的初始同步階段,SQL Server允許用戶 在訂閱服務器上手工建立出版物的初始快照,這一操作被稱做手工同步。對于非常大的出版物,可選擇使用手工同步操作,這時用戶從磁帶或其它設備中手工
13、建立出版物快照,使SQL Server不再運行快照代理來同步復制操作,它認為出版服務器和訂閱服務器之間已經(jīng)同步,所以可以立即傳遞出版物的修改事務。日志閱讀代理運行時,它首先讀取出版物的事務日志,并標識出影響出版物的INSERT、UPDATA、DELETE語句或其它數(shù)據(jù)修改語句。之后,日志閱讀代理交這些被標識的事務批拷貝到分發(fā)服務器的分發(fā)數(shù)據(jù)庫中。分發(fā)數(shù)據(jù)庫作為這些事務的一個存儲轉(zhuǎn)發(fā)隊列,再將這些事務中已提交的事務傳遞給訂閱服務器。日志閱讀代理運行過程中使用系統(tǒng)存儲過程sp_replcmds讀取數(shù)據(jù)庫事務日志中的復制事務命令集合,使用sp_repldooe標識復制操作的完成程度。分發(fā)代理通過推或
14、拉方式將存儲在分發(fā)數(shù)據(jù)庫Msrepl_transactions表中的所有事務命令傳遞到訂閱服務器。之后訂閱服務器按照與出版服務器中相同的順序執(zhí)行這些事務命令,實現(xiàn)對出版物復制品的修改操作。3 合并復制合并復制允許修改出版服務器中的出版數(shù)據(jù)庫和訂閱服務器中的訂閱數(shù)據(jù)庫,它能夠自動監(jiān)視這些數(shù)據(jù)庫中的數(shù)據(jù)變化,并定期將這些修改操作進行合并,把合并后的結(jié)果提交給建立訂閱時為訂閱者所設置的優(yōu)先級載決哪個用戶的修改有效。當建立一個合并復制時,SQL Server對數(shù)據(jù)庫結(jié)構(gòu)做以下修改: 對出版表標識行唯一列,這使SQL Server能夠在一個表的多個拷貝之間根據(jù)被標識列唯一確定各個數(shù)據(jù)行。具體的標識方法是
15、:如果出版條目中具有ROWGUIDCOL屬性的uniqueidentifier數(shù)據(jù)類型列時,SQL Server自動使用該列作為行標識符。否則,SQL Server在為出版物第一次執(zhí)行快照代理或創(chuàng)建出版物條目時向出版表中添加一列rowguid,并對rowguid列建立索引,rowguid列具有ROWGUIDCOL屬性。由于合并出版一個表之前應刪除其中的timestamp列。 建立出版條目的數(shù)據(jù)修改跟蹤觸發(fā)器。在為合并復制第一次執(zhí)行快照代理或創(chuàng)建出版物條目時,SQL Server建立合并復制觸發(fā)器。這些觸發(fā)器自動跟蹤出版條目中行級或列級數(shù)據(jù)修改操作,并將所監(jiān)測到的數(shù)據(jù)修改操作記錄到合并復制系統(tǒng)表
16、中。由于SQL Server7。0允許對一個表建立多個同類型的觸發(fā)器(在SQL Server6。5及其以前版本中,只允許為表建立一個同類觸發(fā)器),所以,合并復制觸發(fā)器不影響表中已經(jīng)建立的觸發(fā)器,二者可以共享。 向數(shù)據(jù)庫中添加復制系統(tǒng)表,這些表用于數(shù)據(jù)跟蹤、同步以及沖突檢測、載決和報告等。系統(tǒng)表Msmerge_contents和Msmerge_tombstone用于跟蹤出版物中的數(shù)據(jù)插入、修改和刪除操作,其中的行標識符列rowguid連接各個基表,generation列用做邏輯時鐘,它標識指定站點中該數(shù)據(jù)行是否被修改。Generation列值說明合并代理或?qū)军c的用戶對該行數(shù)據(jù)修改的先后順序。
17、 合并復制由快照代理和合并代理實現(xiàn)。在訂閱服務器能夠接收出版服務器的增量修改數(shù)據(jù)之前,它必須建立與出版物中各條目相同的結(jié)構(gòu)和數(shù)據(jù)文件,即出版物的初始快照。初始快照可以通過快照代理建立,也可以由用戶手工建立,即所謂的手工同步方式。使用快照代理建立初始快照的過程與事務復制中快照代理的工作過程基本相同,這里不再介紹: 當用戶修改合并條目時,合并代理觸發(fā)器將被修改行的generation列值置為0。之后當合并代理運行時,它查找表中所有generation列值為0的數(shù)據(jù)行,并將這些行的generation列值設置為一個比所有其它行的generation列值較高的值。每個站點中的合并代理通過跟蹤它傳遞給其
18、它站點的最高generation列值和其它站點傳遞給它的最高generation列值,即可判斷出版物中的各個條目是否被修改。在同步階段,合并代理將所有修改數(shù)據(jù)傳遞給其它站點。這些站點接收到修改數(shù)據(jù)后,合并代理首先檢查這些行與表中舊數(shù)據(jù)行是否存在沖突。如果存在沖突,合并代理將根據(jù)各訂閱者的優(yōu)先給自動處理沖突,載決哪個用戶的修改操作有效。(四)立即修改訂閱立即修改訂閱(Immediate Updating Subscribers)是SQL Server快照復制和事務復制中的一個復制選項,它允許訂閱服務器對復制進行修改,被修改的數(shù)據(jù)或事務通過兩階段提交協(xié)議(2PC)傳遞給出版服務器,出版服務器提交后
19、再將被修改數(shù)據(jù)傳遞給該出版物的其它訂閱服務器之間有可靠的網(wǎng)絡連接,能夠保證二者間的正常通信,使分布式事務在兩個服務器能夠順利進行。但它不要求其它訂閱服務器與出版服務器之間的固定連接,它們之間可以只在數(shù)據(jù)同步期間建立連接。SQL Server支持立即修改訂閱操作時用到以下部件:MS DTC:處理訂閱服務器和出版器之間的分布事務,實現(xiàn)二者之間的兩階段提交操作。觸發(fā)器:當分發(fā)代理在訂閱服務上建立初始快照時創(chuàng)建該觸發(fā)器,它捕獲數(shù)據(jù)修改事務,并在MS DTC 的控制下將所捕獲到的事務提交給出版服務器。在創(chuàng)建該觸發(fā)器的CREATE TRIGGER語句中使用NOT FOR RELPICATION選項,因此,
20、分發(fā)代理對訂閱服務器中數(shù)據(jù)庫所做的修改操作不會激活觸發(fā)器; 存儲過程:當出版服務器檢測到訂閱服務器對它所訂閱出版物的修改與出版服務器中的數(shù)據(jù)沒有沖突時,位于出版服務器上的存儲過程(包括插入存儲過程、修改存儲過程和刪除存儲過程等)實現(xiàn)對出版條目的插入、修改或刪除操作,這些操作與訂閱服務器所做的修改相同:沖突檢測:出版服務器使用以下兩種方法檢測訂閱服務器所提交的事務是否存在沖突: 時間戳沖突檢測法:采用這種方法時,要求出版表中具有時間戳列,SQL Server根據(jù)該列判斷一數(shù)據(jù)行在復制到訂閱服務器之后是否被修改過。具體檢測方法是:當訂閱服務器請求一個立即修改事務時,它將被修改行的時間戳列值相比較,
21、如果二者相同,則說明該行數(shù)據(jù)復制之后沒有被修改。因此,出版服務器可以接受訂閱服務器所請求的修改事務。否則,說明訂閱服務器所請求的修改事務與其它修改操作存在沖突,出版服務器拒絕訂閱服務器的請求,并在兩個服務器上回滾事務操作。當出版數(shù)據(jù)庫和訂閱數(shù)據(jù)庫位于同一臺服務器上時,不能使用時間戳沖突檢測法檢測沖突。 行比較沖突檢測法:如果出版條目中沒有時間戳列,SQL Server則將訂閱服務器中所有列修改前的數(shù)值(由觸發(fā)器從訂閱服務器的deleted表中提?。┡c出版服務器中被修改行的有列的當前值進行比較,如果二者值相同,則說明沒有沖突,否則存在沖突。(五)存儲過程復制除復制表外,SQL Server還允許
22、單向或雙向復制存儲過程。如果存儲過程作為快照出版物中的條目時,SQL Server將整個存儲過程從出版服務器復制到訂閱服務器。但是,如果存儲過程作為事務出版物中的條目的,SQL Server將向訂閱服務器復制存儲過程的執(zhí)行,而不是存儲過程執(zhí)行過程中所產(chǎn)生的數(shù)據(jù)處理事務。這時,如果在出版服務器上執(zhí)行被出版的存儲過程,該存儲過程的執(zhí)行及其執(zhí)行參數(shù)被傳遞到每個訂閱服務器。與出版表相比,在事務復制過程中出版存儲過程可以減少網(wǎng)絡的通信量。在事務復制時,SQL Server自動標識對出版條目中的所有數(shù)據(jù)處理事務。為避免重復標識,在被出版存儲過程執(zhí)行期間,SQL Server暫停對復制事務和命令的標識。存儲
23、過程復制時應該注意:如果對出版基表施加有橫向過濾器,即訂閱服務器的復制品中只是出版服務器數(shù)據(jù)表中的部分數(shù)據(jù)行時,被復制存儲過程在出版服務器和訂閱服務上執(zhí)行所產(chǎn)生的結(jié)果是不同的。二、使用管理工具實現(xiàn)復制操作SQL Server提供了兩種數(shù)據(jù)復制實現(xiàn)方法:一種是使用Transact_SQL語句和系統(tǒng)存儲過程實現(xiàn)數(shù)據(jù)復制;另一種方法是作用圖形化管理工具SQL Server企業(yè)管理器/SQL Server7.0。由于第一種方法實現(xiàn)起來比較復雜,而且需要對于SQL的語句特別熟練,用戶掌握起來有一定的難度,所以我們這里就不再做介紹了,只介紹第二種比較簡單直接的方法來實現(xiàn)數(shù)據(jù)庫的復制,即利用圖形將數(shù)據(jù)復制管
24、理工具管理工具SQL Server企業(yè)管理器來實現(xiàn)。使用QL Server企業(yè)管理器集成到企業(yè)管理器中,使用它可以完成以下操作:配置出版服務器、分發(fā)服務器和訂閱服務器;創(chuàng)建和管理出版物及出版條目 ;建立推、拉訂閱;停止服務器的出版、分發(fā)和訂閱操作;刪除出版物和訂閱;產(chǎn)生復制腳本程序文件。這一節(jié)以建立pubs數(shù)據(jù)庫的快照出版物及其拉訂閱為例介紹怎么使用SQL Server復制管理工具實現(xiàn)數(shù)據(jù)復制操作。(一) 配置分發(fā)服務器和出版服務器SQL Server企業(yè)管理器中配置分發(fā)服務器和出版服務器的具體操作步驟為: 在SQL Server企業(yè)管理器中,選擇需要配置 的SQL Server服務器,從 T
25、ools菜單中選擇Replication-Configure Publishing and Subscribers命令,打開Configure Publishing and Distrbution Wizard 對話框,如圖所示 單擊圖中的NEXT按鈕,打開圖中所示的對話框,進入配置工作的第二步:設置分發(fā)服務器。如果出版服務器和分發(fā)服務器為同一臺主機,則選擇圖中的第一個列表選項,否則選擇其中的第二項。選擇第二項時,SQL Server要求所指定的分發(fā)服務器在本地SQL Server企業(yè)管理器進行注冊。如果所指定的分發(fā)服務器還沁有在本地SQL Server企業(yè)管理器中注冊,這時可單擊Regist
26、er Server按鈕,打開服務器注冊對話框,注冊一個新的服務器。之后,單擊Next按鈕,進入配置工作的第三步。 在圖中,選擇是否使用配置向?qū)Ыo出的默認設置。這里我們選擇使用其默認設置,即:使用WEBSERVER服務器作為分發(fā)服務器;允許當前服務器中已注冊的服務器(WEBSERVER、DBSERVER等)作為訂閱服務器訂閱WEBSERVER服務器中的出版物;使用distribution數(shù)據(jù)庫作為分發(fā)數(shù)據(jù)庫,該數(shù)據(jù)庫存儲在C:MSSQL7data目錄下:允許出版服務器WEBSERVER使用該分發(fā)服務器出版數(shù)據(jù)。如果不使用以上默認設置,可選擇圖中的第一個列表選項,然后,在配置向?qū)У囊龑略O置以上各
27、項配置。單擊圖中的Next按鈕,打開圖中所示的對話框,進入配置工作的最后一步。這時單擊其中的Finish按鈕,SQL Server即開始自動配置出版、分發(fā)和訂閱服務器。它所完成的工作包括: 在指定路徑下創(chuàng)建分發(fā)數(shù)據(jù)庫及其日志文件;將指定的服務器配置為分發(fā)服務器;啟動出版服務器的數(shù)據(jù)庫出版功能;啟動訂閱服務器的訂閱功能;啟動出版服務器中指定數(shù)據(jù)庫的數(shù)據(jù)出版功能。在SQL Server企業(yè)管理器中,選擇需要配置的服務器,從Tools菜單中選擇Replication-Configure Publishing, Subscribers, and Distribution命令,打開Publisher a
28、nd Distributor Properties對話框,如圖所示。Publisher and Distributor Properties對話框用于設置出版、分發(fā)和訂閱服務器及其屬性,標識出版數(shù)據(jù)庫。這里只介紹怎樣標識出版數(shù)據(jù)庫。(見下圖一)選擇Publisher and Distributor Properties對話框的Publication Databases選項卡,如圖所示。在其Databases列表框中列出了服務器上可用于出版的所有用戶數(shù)據(jù)庫(SQL Server系統(tǒng)數(shù)據(jù)庫禁止出版),我們選中pubs數(shù)據(jù)庫前的Trans和Merge復選框,即說明允許以事務和合并方式出版pubs數(shù)據(jù)
29、庫中的數(shù)據(jù)。(見下圖二)最后單擊OK按鈕,親閉Publisher and Distributor Properties對話框。至此,分發(fā)服務器出版服務器、訂閱服務器和出版數(shù)據(jù)庫、分發(fā)數(shù)據(jù)庫的設置和創(chuàng)建工作已經(jīng)完成。(圖一)(圖二)(二)創(chuàng)建出版物在SQL Server企業(yè)管理器中使用Create Publication Wizard創(chuàng)建出版物,并向出版物中添加出版條目,這一操作步驟為:(1) 在SQL Server企業(yè)管理中,首先選擇出版服務器,然后從Tools 菜單中選擇Replication-Create and Manage Publications命令,打開Create and Man
30、age Publications對話框,如下圖所示 (2) 從Create and Manage Publications對話框的Databases and Publications列表框中選擇出版數(shù)據(jù)庫,如pubs。然后單擊Create Publication按鈕,打開Create Publication Wizard(如圖所示),之后在它的引導下完成出版物的創(chuàng)建和出版條目的定義操作。(3)單擊上圖中的Next按鈕,進入創(chuàng)建出版物操作的第二步。在下圖中,選擇出版類型:快照出版、事務出版或合并出版。這里我們選擇第二項,即事務出版,然后單擊Next按鈕,進入下一步。(4)在圖中,設置所建立出版物
31、的立即修改訂閱選項,這里我們不允許創(chuàng)建對新建立出版物的立即修改訂閱,所以選擇下圖中的第二項,即No, do not allow immediate-updating subscribtions,之后再單擊圖中的Next按鈕,進入下一步。(5)在下圖中指定訂閱服務器的類型。出版物的訂閱服務器類型影響出版數(shù)據(jù)文件的格式,如果所有訂閱服務器均為SQL Server服務器,出版數(shù)據(jù)文件使用SQL Server本地批拷貝格式,否則它使用字符批拷貝格式。這里選擇第一項,即所有訂閱服務器均為SQL Server數(shù)據(jù)庫服務器。之后再單擊圖中的Next按鈕,進入下一步。(6)在下圖中為新創(chuàng)建的出版物添加出版條目
32、。首先,從Filter list to show列表中選擇Both publicshed and unpublished objects選項,從Objects in list列表中選擇Include tables 和Include stored procs選項,使Create Publication Wizard列出出版數(shù)據(jù)庫中所有已出版和未出版的表和存儲過程。然后從數(shù)據(jù)庫對象列表中選擇待出版的表和存儲過程。這里,我們選擇出版authors表。然后單擊圖中的Next按鈕,進入下一步。(見下圖三)(7)在下圖的Publication name和Publication description文本框
33、中分別輸入新建立的出版物名稱及其描述文本,然后單擊Next按鈕,進入下一步。(見下圖四)(8)在下圖中,選擇是否需要對所添加的出版條目施加橫向過濾或縱向過濾,以及設置是否允許用戶建立該出版物的匿名訂閱等。如果需要設置出版物的這些屬性,選擇圖中的第一項,否則選擇第二項。這里我們選擇第二項,該項包含的設置包括:(見下圖五)創(chuàng)建pubs數(shù)據(jù)庫的事務出版物tran_pubs;所有訂閱服務器均為Microsoft SQL Servers服務器;出版authors表,其出版條目名稱仍為authors;對tuan_pubs出版物的數(shù)據(jù)不加過濾;不允許對該出版物建立立即修改訂閱;不允許匿名服務器創(chuàng)建該出版物的
34、拉訂閱;在1999年2月8日之前,快照代理在每天的11:30PM啟動一次然后,單擊Next按鈕,進入下一步。(圖三)(圖四)(圖五)(9)最后單擊圖中對話框中的finish按鈕,使SQL Server開始按照以上設置創(chuàng)建出版物。三、生成復制腳本程序數(shù)據(jù)復制管理工具只是為用戶提供一種圖形化的交互操作接口,其各項功能最終仍是通過執(zhí)行TransactSQL語句和系統(tǒng)存儲過程來實現(xiàn)。SQL Server數(shù)據(jù)庫復制管理工具為用戶提供了腳本程序生成接口,該接口將用戶的所有設置工作轉(zhuǎn)化為TransactSQL腳本程序文件。下面我們使用這一工具生成本節(jié)中配置服務器和出版物等操作的腳本程序。在SQL Serve
35、r企業(yè)管理器中,用鼠標右鍵單擊服務器,從Tools菜單中選擇ReplicationGenerate Replication Scripts命令,打開Generate Replication Scripts對話框,如圖所示:首先選中上面圖中的兩個復選框,即要求生成的腳本程序中包含分發(fā)服務器屬性設置和指定數(shù)據(jù)庫中的出版物定義語句。然后,選擇Script the commands to組中的第一個選項,要求生成指定不部件的創(chuàng)建腳本。如果需要生成指定部件的刪除腳本,則選擇其中的第二項。最后,單擊“OK”按鈕,SQL Server將打開Script File Location對話框,請用戶輸入程序腳本的
36、名稱以及它的存儲路徑,并按照指定的參數(shù)保存它所產(chǎn)生的程序腳本文件。以下內(nèi)容為管理工具所產(chǎn)生的腳本程序文件內(nèi)容,大家可以對照自己掌握的SQL語句的命令來大致的理解一下:/* Scripting the replication setup of server S10. Script Date: 00-10-6 19:11:51 */* Installing the server S10 as a Distributor. Script Date: 00-10-6 19:11:53 */use masterGOexec sp_adddistributor distributor = NS10, pa
37、ssword = NGO- Adding the distribution databaseexec sp_adddistributiondb database = Ndistribution, data_folder = Nd:MSSQL7data, data_file = Ndistribution.MDF, data_file_size = 3, log_folder = Nd:MSSQL7data, log_file = Ndistribution.LDF, log_file_size = 0,min_distretention = 0, max_distretention = 72,
38、 history_retention = 48,security_mode = 0, login = Nsa, password = NGO- Adding the distribution publisherexec sp_adddistpublisher publisher = NS10, distribution_db = Ndistribution, security_mode = 0,login = Nsa, password = N,working_directory = Nd:MSSQL7ReplData, trusted = Nfalse, thirdparty_flag =
39、0GO- Adding the registered subscriberexec sp_addsubscriber subscriber = NS10, type = 0, login = Nsa, password = N, security_mode = 0, frequency_type = 64, frequency_interval = 1, frequency_relative_interval = 2, frequency_recurrence_factor = 0, frequency_subday = 8, frequency_subday_interval = 1, ac
40、tive_start_date = 0, active_end_date = 0, active_start_time_of_day = 0, active_end_time_of_day = , description = Nexec sp_changesubscriber_schedule subscriber = NS10, agent_type = 1, active_end_date = 0GO- Adding the registered subscriberexec sp_addsubscriber subscriber = NWANGQW, type = 0, login =
41、Nsa, password = N, security_mode = 0, frequency_type = 64, frequency_interval = 1, frequency_relative_interval = 2, frequency_recurrence_factor = 0, frequency_subday = 8, frequency_subday_interval = 1, active_start_date = 0, active_end_date = 0, active_start_time_of_day = 0, active_end_time_of_day =
42、 , description = Nexec sp_changesubscriber_schedule subscriber = NWANGQW, agent_type = 1, active_end_date = 0GO- Enabling the replication databaseuse masterGOexec sp_replicationdboption Nfff, Npublish, NtrueGOuse fffGO- Adding the transactional publicationexec sp_addpublication publication = Nfff, restricted = Nfalse, sync_method = Nnative, repl_freq = Nsnapshot, description = NSnapshot publication of fff database from Publisher S10., status = Nactive, allow_push = Ntrue, allow_pull = Ntrue, allow_anonymous = Nfalse, enabled_for_i
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度企業(yè)培訓師資引進合同
- 二零二五年度土地開發(fā)權轉(zhuǎn)讓居間代理合同模板
- 二零二五年度出差安全防護設備及服務租賃合同4篇
- 2025業(yè)績目標達成股權激勵與員工股權激勵績效合同3篇
- 二零二五年度企業(yè)培訓項目監(jiān)督合同
- 二零二五年度天然氣交易平臺服務合同
- 二零二五年度兩居房車租賃與民宿合作合同樣本2篇
- 2025年度水路聯(lián)合運輸貨運代理服務合同范本
- 二零二五版文化產(chǎn)業(yè)發(fā)展擔保合同示范文本4篇
- 2025年度個人房產(chǎn)抵押貸款擔保合同違約責任4篇
- 2025年度杭州市固廢處理與資源化利用合同3篇
- 部編版二年級下冊《道德與法治》教案及反思(更新)
- 充電樁項目運營方案
- 退休人員出國探親申請書
- 傷殘撫恤管理辦法實施細則
- 高中物理競賽真題分類匯編 4 光學 (學生版+解析版50題)
- 西方經(jīng)濟學-高鴻業(yè)-筆記
- 幼兒園美術教育研究策略國內(nèi)外
- 物業(yè)公司介紹
- 2024屆河南省五市高三第一次聯(lián)考英語試題及答案
- 【永輝超市公司員工招聘問題及優(yōu)化(12000字論文)】
評論
0/150
提交評論