MS SQL Server 2008數據庫怎麽實現數據(jù)庫同步備份?
SQL Server 2008數據庫(kù)複製是通過發布/訂閱的機(jī)製(zhì)進行(háng)多台服務器之間的數據同(tóng)步,我們把它用於(yú)數(shù)據庫的同步備份。這裏的同步備份指的是備份服務器與主服務器進行(háng)實時數據同(tóng)步,正常情況下隻使用主數據庫服務器,備份服務器隻在主服(fú)務器(qì)出現故障時投入使用。它是一種優於文件備份的數據庫備份解(jiě)決方案。
在選擇數據庫同步備份解決方案時,我們評估了兩種方式(shì):SQL Server 2008的數據庫鏡像和SQL Server 2008數據庫複製。數據庫鏡像的優點是係統能自動發現主服務器故障,並且自動切換至鏡像服(fú)務器。但缺點是配置複雜,鏡像(xiàng)數據(jù)庫中的數據不可見(在SQL Server Management Studio中,隻能看到鏡像數據庫處於鏡像狀態,無法進行任何數據庫(kù)操(cāo)作,最簡單的查詢也不行。想眼見為實,看看(kàn)鏡像數據庫中(zhōng)的數據是否正確都不行。隻(zhī)有將鏡像數據庫切換(huàn)主數據庫才可見)。如果你要使用數據庫鏡像,強(qiáng)烈推薦killkill寫的SQL Server 2005 鏡像構建(jiàn)手冊,我們就是按照這(zhè)篇文(wén)章完成了數據庫鏡(jìng)像部(bù)署測試。
最終,我(wǒ)們選擇了SQL Server 2008數據庫複製。
下麵通過一個示例和大家一起學習一下如何部署SQL Server 2008數據庫(kù)複製。
測試環境:Windows Server 2008 R2 + SQL Server 2008 R2(英文版),兩台服務器,一台(tái)主數據庫服務器CNBlogsDB1,一(yī)台備份數據庫服務器CNBlogsDB2。
複製原(yuán)理:我們采用的是基於快照的事(shì)務複製。主數(shù)據庫服(fú)務器生成快照,備份庫(kù)服務器讀取並加載(zǎi)該快照,然後不停地從主數(shù)據庫(kù)服(fú)務(wù)器複製事務日誌。見下(xià)圖:
圖片來自SQL Server聯機(jī)叢書
安裝(zhuāng)與配置步驟:
一、在(zài)兩台服務器上安裝好SQL Server 2008 R2,主要安裝(zhuāng)的組件:Database Engine(含SQL Server Replication),Management Tools。
二、主數據庫服務器(發布服務器)的配置:
1. 在主數據庫服務器CNBlogsDB1新建示例數據庫CNBlogsDemo(注意Recovery mode要使用默認值Full,隻有這個模式才(cái)能進行事務複製),然後建立一張測試(shì)表,比(bǐ)如:CNBlogsTest。
2. 設置(zhì)存放快(kuài)照的(de)文件夾:
創建(jiàn)發(fā)布之前,先設置一(yī)下(xià)存放快照的文件夾,創建發布後會在該文件夾生成快照文件,訂閱服務器需要在初(chū)始化(huà)時(shí)加載(zǎi)該快照文件。
選擇Replication》Local Publications》屬性,在出現的(de)窗口(kǒu)中選擇Publishers,如下圖:
點擊紅框處的按(àn)鈕,出現設(shè)置窗口:
在Default Snapshot Folder中設置快照文件存放路徑。
3. 在主數據庫服務器創建發布:
在(zài)Replication》Local Publications中選擇New Publication,出現一個向導。先選擇要(yào)發布的數據庫CNBlogsDemo,然後選擇發布(bù)類型Transational publication,如下圖:
點擊Next,出現錯誤:
原(yuán)來所有要複製的(de)表都需要有主(zhǔ)鍵,剛才建CNBlogsTest表時,沒有建主鍵。建一下主鍵,並重新啟動向導就(jiù)可以了。
接著選擇要複製的(de)對象:
點Next,Next,進入Snapshot Agent窗口,選擇Create a snapshot immediately and keep the snapshot available to initialize subscriptions,見下圖:
Next,進入Agent Security:
選擇Security Settings,進行相應的帳戶設置:
一個是設置運行Snapshot Agent的Windows帳戶,我們這裏選(xuǎn)擇與SQL Server Agent同樣的帳戶。
一個是設置連接發布服務器的SQL帳戶,我們這裏就用主數據庫服務(wù)器(qì)的sa帳(zhàng)戶。
繼(jì)續:OK,Next,Next,為這個發布起個名字:
點擊Finish,就開始正式創建發(fā)布,創(chuàng)建成功就會出現如下窗口:
這時查看快照文件夾,就會(huì)看到unc文件夾,快照文件就在這個文(wén)件夾中(zhōng)。
這裏要考(kǎo)慮這樣一(yī)個問題,如何讓訂閱服(fú)務器通過網絡訪問這個(gè)快照文件(jiàn)夾。
我們在這個問題上折騰(téng)了一些時間,本來想通過共享文件夾的方式,但又不想打開匿名共(gòng)享(xiǎng),折騰了半天,沒搞定訂閱服務器訪問共享文件夾用戶驗證的問題。於是采用了(le)FTP的方(fāng)式,所以,下麵介紹一下如何讓訂閱服務器通過FTP訪問快照文件。
4. 設置快照的FTP訪問
首先在(zài)主數據庫服(fú)務器上開通FTP服務,建立一個指向快照文件夾的FTP站(zhàn)點,設置好(hǎo)可以遠程連接(jiē)的FTP帳戶。然後在這台(tái)發布服務器設置一下FTP客戶端配置。配置方法如下:
在Replication》Local Publications中選擇剛(gāng)才創建的發布(bù)[CNBlogsDemo]:CNBlogsDemo_Publication,選(xuǎn)擇屬(shǔ)性》FTP Snapshot,如下圖:
選中Allow Subscribers to download snapshot files using FTP,並設(shè)置一下FTP客戶端連接參數,訂閱服(fú)務器就是通(tōng)過這裏的(de)設置連(lián)接(jiē)FTP服務器(qì)的(注:Path from the FTP root folder的設置要和上圖一樣(yàng),設置為:/ftp)。
點擊OK,這時會在快照文件夾中創(chuàng)建一個ftp文件夾,並(bìng)在該文(wén)件夾(jiá)中生成快照文件。
這樣,發布服務器就配置好了,下麵配置訂閱服務器。
三、備份數據庫服務器(訂閱服務(wù)器)的配置:
進(jìn)入訂閱服務器CNBlogsDB2,創建與發布服務器同名的數據庫CNBlogsDemo,使用完全恢複模式(shì)。
在Replication》Local Subscriptions中選擇New Subscriptions,進入向(xiàng)導。
Next,進入選擇發布服務器的窗口,選擇(zé)Find SQL Server Publisher,出現服務(wù)器連接窗口:
這裏要注意的是Server Name中一定要填寫發布服務器的計算(suàn)機名,如果計算機名連接不上,要在hosts文件中加一個IP地址解析(xī)。
成功連接發布服務器之後,就可以看(kàn)到剛才在主數據庫服務器上創建的發布:
Next,進入"分發代理(lǐ)工作位(wèi)置(zhì)"的選擇窗口:
我(wǒ)們這(zhè)裏選擇pull subscriptions,把數據(jù)給(gěi)拉過來,這樣主數據庫(kù)服務(wù)器的(de)負擔會輕些。
Next,選擇訂閱服務器上的數(shù)據庫,之前(qián)我們已經建(jiàn)好同名的數據庫(kù),所以係統自己(jǐ)會找到。
Next,進(jìn)入分發代理安(ān)全設置窗口:
點擊紅框內(nèi)的按鈕,進入(rù)設(shè)置窗口:
設置如上圖,Connect to the Distributor處設置的是發布(bù)服務(wù)器的sa帳戶。
OK, Next, Next, Next:
關鍵詞:SQLServer,MSSQL,數據庫,數據庫同步備份
閱讀本(běn)文後您有什麽感想(xiǎng)? 已(yǐ)有 人給出評價!
- 0
- 0
- 0
- 0
- 0
- 0