資源描述:
《SQLServer2008數(shù)據(jù)庫(kù)復(fù)制實(shí)現(xiàn)數(shù)據(jù)庫(kù)同步備份》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、SQLServer2008數(shù)據(jù)庫(kù)復(fù)制實(shí)現(xiàn)數(shù)據(jù)庫(kù)同步備份 SQLServer2008數(shù)據(jù)庫(kù)復(fù)制是通過(guò)發(fā)布/訂閱的機(jī)制進(jìn)行多臺(tái)服務(wù)器之間的數(shù)據(jù)同步,我們把它用于數(shù)據(jù)庫(kù)的同步備份。這里的同步備份指的是備份服務(wù)器與主服務(wù)器進(jìn)行實(shí)時(shí)數(shù)據(jù)同步,正常情況下只使用主數(shù)據(jù)庫(kù)服務(wù)器,備份服務(wù)器只在主服務(wù)器出現(xiàn)故障時(shí)投入使用。它是一種優(yōu)于文件備份的數(shù)據(jù)庫(kù)備份解決方案。 在選擇數(shù)據(jù)庫(kù)同步備份解決方案時(shí),我們?cè)u(píng)估了兩種方式:SQLServer2008的數(shù)據(jù)庫(kù)鏡像和SQLServer2008數(shù)據(jù)庫(kù)復(fù)制。數(shù)據(jù)庫(kù)鏡像的優(yōu)點(diǎn)是系統(tǒng)能自動(dòng)發(fā)現(xiàn)主服務(wù)器
2、故障,并且自動(dòng)切換至鏡像服務(wù)器。但缺點(diǎn)是配置復(fù)雜,鏡像數(shù)據(jù)庫(kù)中的數(shù)據(jù)不可見(jiàn)(在SQLServerManagementStudio中,只能看到鏡像數(shù)據(jù)庫(kù)處于鏡像狀態(tài),無(wú)法進(jìn)行任何數(shù)據(jù)庫(kù)操作,最簡(jiǎn)單的查詢(xún)也不行。想眼見(jiàn)為實(shí),看看鏡像數(shù)據(jù)庫(kù)中的數(shù)據(jù)是否正確都不行。只有將鏡像數(shù)據(jù)庫(kù)切換主數(shù)據(jù)庫(kù)才可見(jiàn))。如果你要使用數(shù)據(jù)庫(kù)鏡像,強(qiáng)烈推薦killkill寫(xiě)的SQLServer2005鏡像構(gòu)建手冊(cè),我們就是按照這篇文章完成了數(shù)據(jù)庫(kù)鏡像部署測(cè)試。 最終,我們選擇了SQLServer2008數(shù)據(jù)庫(kù)復(fù)制?! ∠旅嫱ㄟ^(guò)一個(gè)示例和大家一起
3、學(xué)習(xí)一下如何部署SQLServer2008數(shù)據(jù)庫(kù)復(fù)制?! y(cè)試環(huán)境:WindowsServer2008R2+SQLServer2008R2(英文版),兩臺(tái)服務(wù)器,一臺(tái)主數(shù)據(jù)庫(kù)服務(wù)器CNBlogsDB1,一臺(tái)備份數(shù)據(jù)庫(kù)服務(wù)器CNBlogsDB2?! ?fù)制原理:我們采用的是基于快照的事務(wù)復(fù)制。主數(shù)據(jù)庫(kù)服務(wù)器生成快照,備份庫(kù)服務(wù)器讀取并加載該快照,然后不停地從主數(shù)據(jù)庫(kù)服務(wù)器復(fù)制事務(wù)日志。見(jiàn)下圖: 圖片來(lái)自SQLServer聯(lián)機(jī)叢書(shū) 安裝與配置步驟: 一、在兩臺(tái)服務(wù)器上安裝好SQLServer2008R2,主要安裝的組
4、件:DatabaseEngine(含SQLServerReplication),ManagementTools?! 《?、主數(shù)據(jù)庫(kù)服務(wù)器(發(fā)布服務(wù)器)的配置: 1.在主數(shù)據(jù)庫(kù)服務(wù)器CNBlogsDB1新建示例數(shù)據(jù)庫(kù)CNBlogsDemo(注意Recoverymode要使用默認(rèn)值Full,只有這個(gè)模式才能進(jìn)行事務(wù)復(fù)制),然后建立一張測(cè)試表,比如:CNBlogsTest?! ?.設(shè)置存放快照的文件夾: 創(chuàng)建發(fā)布之前,先設(shè)置一下存放快照的文件夾,創(chuàng)建發(fā)布后會(huì)在該文件夾生成快照文件,訂閱服務(wù)器需要在初始化時(shí)加載該快照文件。
5、 選擇Replication》LocalPublications》屬性,在出現(xiàn)的窗口中選擇Publishers,如下圖: 點(diǎn)擊紅框處的按鈕,出現(xiàn)設(shè)置窗口: 在DefaultSnapshotFolder中設(shè)置快照文件存放路徑?! ?.在主數(shù)據(jù)庫(kù)服務(wù)器創(chuàng)建發(fā)布: 在Replication》LocalPublications中選擇NewPublication,出現(xiàn)一個(gè)向?qū)АO冗x擇要發(fā)布的數(shù)據(jù)庫(kù)CNBlogsDemo,然后選擇發(fā)布類(lèi)型Transationalpublication,如下圖: 點(diǎn)擊Next,出現(xiàn)錯(cuò)誤:
6、 原來(lái)所有要復(fù)制的表都需要有主鍵,剛才建CNBlogsTest表時(shí),沒(méi)有建主鍵。建一下主鍵,并重新啟動(dòng)向?qū)Ь涂梢粤??! 〗又x擇要復(fù)制的對(duì)象: 點(diǎn)Next,Next,進(jìn)入SnapshotAgent窗口,選擇Createasnapshotimmediatelyandkeepthesnapshotavailabletoinitializesubscriptions,見(jiàn)下圖: Next,進(jìn)入AgentSecurity: 選擇SecuritySettings,進(jìn)行相應(yīng)的帳戶(hù)設(shè)置: 一個(gè)是設(shè)置運(yùn)行SnapshotAg
7、ent的Windows帳戶(hù),我們這里選擇與SQLServerAgent同樣的帳戶(hù)?! ∫粋€(gè)是設(shè)置連接發(fā)布服務(wù)器的SQL帳戶(hù),我們這里就用主數(shù)據(jù)庫(kù)服務(wù)器的sa帳戶(hù)。 繼續(xù):OK,Next,Next,為這個(gè)發(fā)布起個(gè)名字: 點(diǎn)擊Finish,就開(kāi)始正式創(chuàng)建發(fā)布,創(chuàng)建成功就會(huì)出現(xiàn)如下窗口: 這時(shí)查看快照文件夾,就會(huì)看到unc文件夾,快照文件就在這個(gè)文件夾中。 這里要考慮這樣一個(gè)問(wèn)題,如何讓訂閱服務(wù)器通過(guò)網(wǎng)絡(luò)訪(fǎng)問(wèn)這個(gè)快照文件夾。 我們?cè)谶@個(gè)問(wèn)題上折騰了一些時(shí)間,本來(lái)想通過(guò)共享文件夾的方式,但又不想打開(kāi)匿名共享,折騰了
8、半天,沒(méi)搞定訂閱服務(wù)器訪(fǎng)問(wèn)共享文件夾用戶(hù)驗(yàn)證的問(wèn)題。于是采用了FTP的方式,所以,下面介紹一下如何讓訂閱服務(wù)器通過(guò)FTP訪(fǎng)問(wèn)快照文件。 4.設(shè)置快照的FTP訪(fǎng)問(wèn) 首先在主數(shù)據(jù)庫(kù)服務(wù)器上開(kāi)通FTP服務(wù),建立一個(gè)指向快照文件夾的FTP站點(diǎn),設(shè)置好可以遠(yuǎn)程連接的FTP帳戶(hù)。然后在這臺(tái)發(fā)布服務(wù)器設(shè)置一下FTP客戶(hù)端配置。配置方法如下: 在Repl