濮阳杆衣贸易有限公司

主頁 > 知識庫 > 通過SQL Server 2008數(shù)據(jù)庫復(fù)制實(shí)現(xiàn)數(shù)據(jù)庫同步備份

通過SQL Server 2008數(shù)據(jù)庫復(fù)制實(shí)現(xiàn)數(shù)據(jù)庫同步備份

熱門標(biāo)簽:400電話怎么申請收費(fèi)標(biāo)準(zhǔn) 智能語音外呼系統(tǒng)打電話 高德地圖標(biāo)注生成 400電話辦理2273649Z空間 南京外呼系統(tǒng)租用 寧夏外呼系統(tǒng)方案 怎樣在地圖標(biāo)注自己的信息 濟(jì)南電銷外呼防封卡怎么樣 電銷外呼系統(tǒng)違規(guī)

SQL Server 2008數(shù)據(jù)庫復(fù)制是通過發(fā)布/訂閱的機(jī)制進(jìn)行多臺服務(wù)器之間的數(shù)據(jù)同步,我們把它用于數(shù)據(jù)庫的同步備份。這里的同步備份指的是備份服務(wù)器與主服務(wù)器進(jìn)行實(shí)時(shí)數(shù)據(jù)同步,正常情況下只使用主數(shù)據(jù)庫服務(wù)器,備份服務(wù)器只在主服務(wù)器出現(xiàn)故障時(shí)投入使用。它是一種優(yōu)于文件備份的數(shù)據(jù)庫備份解決方案。

在選擇數(shù)據(jù)庫同步備份解決方案時(shí),我們評估了兩種方式:SQL Server 2008的數(shù)據(jù)庫鏡像和SQL Server 2008數(shù)據(jù)庫復(fù)制。數(shù)據(jù)庫鏡像的優(yōu)點(diǎn)是系統(tǒng)能自動發(fā)現(xiàn)主服務(wù)器故障,并且自動切換至鏡像服務(wù)器。但缺點(diǎn)是配置復(fù)雜,鏡像數(shù)據(jù)庫中的數(shù)據(jù)不可見(在SQL Server Management Studio中,只能看到鏡像數(shù)據(jù)庫處于鏡像狀態(tài),無法進(jìn)行任何數(shù)據(jù)庫操作,最簡單的查詢也不行。想眼見為實(shí),看看鏡像數(shù)據(jù)庫中的數(shù)據(jù)是否正確都不行。只有將鏡像數(shù)據(jù)庫切換主數(shù)據(jù)庫才可見)。如果你要使用數(shù)據(jù)庫鏡像,強(qiáng)烈推薦killkill寫的SQL Server 2005 鏡像構(gòu)建手冊,我們就是按照這篇文章完成了數(shù)據(jù)庫鏡像部署測試。

最終,我們選擇了SQL Server 2008數(shù)據(jù)庫復(fù)制。

下面通過一個(gè)示例和大家一起學(xué)習(xí)一下如何部署SQL Server 2008數(shù)據(jù)庫復(fù)制。

測試環(huán)境:Windows Server 2008 R2 + SQL Server 2008 R2(英文版),兩臺服務(wù)器,一臺主數(shù)據(jù)庫服務(wù)器CNBlogsDB1,一臺備份數(shù)據(jù)庫服務(wù)器CNBlogsDB2。

復(fù)制原理:我們采用的是基于快照的事務(wù)復(fù)制。主數(shù)據(jù)庫服務(wù)器生成快照,備份庫服務(wù)器讀取并加載該快照,然后不停地從主數(shù)據(jù)庫服務(wù)器復(fù)制事務(wù)日志。見下圖:

圖片來自SQL Server聯(lián)機(jī)叢書

安裝與配置步驟:

一、在兩臺服務(wù)器上安裝好SQL Server 2008 R2,主要安裝的組件:Database Engine(含SQL Server Replication),Management Tools。

二、主數(shù)據(jù)庫服務(wù)器(發(fā)布服務(wù)器)的配置:

1. 在主數(shù)據(jù)庫服務(wù)器CNBlogsDB1新建示例數(shù)據(jù)庫CNBlogsDemo(注意Recovery mode要使用默認(rèn)值Full,只有這個(gè)模式才能進(jìn)行事務(wù)復(fù)制),然后建立一張測試表,比如:CNBlogsTest。

2. 設(shè)置存放快照的文件夾:

創(chuàng)建發(fā)布之前,先設(shè)置一下存放快照的文件夾,創(chuàng)建發(fā)布后會在該文件夾生成快照文件,訂閱服務(wù)器需要在初始化時(shí)加載該快照文件。

選擇Replication》Local Publications》屬性,在出現(xiàn)的窗口中選擇Publishers,如下圖:

點(diǎn)擊紅框處的按鈕,出現(xiàn)設(shè)置窗口:

在Default Snapshot Folder中設(shè)置快照文件存放路徑。

3. 在主數(shù)據(jù)庫服務(wù)器創(chuàng)建發(fā)布:

在Replication》Local Publications中選擇New Publication,出現(xiàn)一個(gè)向?qū)?。先選擇要發(fā)布的數(shù)據(jù)庫CNBlogsDemo,然后選擇發(fā)布類型Transational publication,如下圖:

點(diǎn)擊Next,出現(xiàn)錯(cuò)誤:

原來所有要復(fù)制的表都需要有主鍵,剛才建CNBlogsTest表時(shí),沒有建主鍵。建一下主鍵,并重新啟動向?qū)Ь涂梢粤恕?/p>

接著選擇要復(fù)制的對象:

點(diǎn)Next,Next,進(jìn)入Snapshot Agent窗口,選擇Create a snapshot immediately and keep the snapshot available to initialize subscriptions,見下圖:

Next,進(jìn)入Agent Security:

選擇Security Settings,進(jìn)行相應(yīng)的帳戶設(shè)置:

一個(gè)是設(shè)置運(yùn)行Snapshot Agent的Windows帳戶,我們這里選擇與SQL Server Agent同樣的帳戶。

一個(gè)是設(shè)置連接發(fā)布服務(wù)器的SQL帳戶,我們這里就用主數(shù)據(jù)庫服務(wù)器的sa帳戶。

繼續(xù):OK,Next,Next,為這個(gè)發(fā)布起個(gè)名字:

 

點(diǎn)擊Finish,就開始正式創(chuàng)建發(fā)布,創(chuàng)建成功就會出現(xiàn)如下窗口:

這時(shí)查看快照文件夾,就會看到unc文件夾,快照文件就在這個(gè)文件夾中。

這里要考慮這樣一個(gè)問題,如何讓訂閱服務(wù)器通過網(wǎng)絡(luò)訪問這個(gè)快照文件夾。

我們在這個(gè)問題上折騰了一些時(shí)間,本來想通過共享文件夾的方式,但又不想打開匿名共享,折騰了半天,沒搞定訂閱服務(wù)器訪問共享文件夾用戶驗(yàn)證的問題。于是采用了FTP的方式,所以,下面介紹一下如何讓訂閱服務(wù)器通過FTP訪問快照文件。

4. 設(shè)置快照的FTP訪問

首先在主數(shù)據(jù)庫服務(wù)器上開通FTP服務(wù),建立一個(gè)指向快照文件夾的FTP站點(diǎn),設(shè)置好可以遠(yuǎn)程連接的FTP帳戶。然后在這臺發(fā)布服務(wù)器設(shè)置一下FTP客戶端配置。配置方法如下:

在Replication》Local Publications中選擇剛才創(chuàng)建的發(fā)布[CNBlogsDemo]:CNBlogsDemo_Publication,選擇屬性》FTP Snapshot,如下圖:

 

選中Allow Subscribers to download snapshot files using FTP,并設(shè)置一下FTP客戶端連接參數(shù),訂閱服務(wù)器就是通過這里的設(shè)置連接FTP服務(wù)器的(注:Path from the FTP root folder的設(shè)置要和上圖一樣,設(shè)置為:/ftp)。

點(diǎn)擊OK,這時(shí)會在快照文件夾中創(chuàng)建一個(gè)ftp文件夾,并在該文件夾中生成快照文件。

這樣,發(fā)布服務(wù)器就配置好了,下面配置訂閱服務(wù)器。

三、備份數(shù)據(jù)庫服務(wù)器(訂閱服務(wù)器)的配置:

進(jìn)入訂閱服務(wù)器CNBlogsDB2,創(chuàng)建與發(fā)布服務(wù)器同名的數(shù)據(jù)庫CNBlogsDemo,使用完全恢復(fù)模式。

在Replication》Local Subscriptions中選擇New Subscriptions,進(jìn)入向?qū)А?/p>

Next,進(jìn)入選擇發(fā)布服務(wù)器的窗口,選擇Find SQL Server Publisher,出現(xiàn)服務(wù)器連接窗口:

這里要注意的是Server Name中一定要填寫發(fā)布服務(wù)器的計(jì)算機(jī)名,如果計(jì)算機(jī)名連接不上,要在hosts文件中加一個(gè)IP地址解析。

成功連接發(fā)布服務(wù)器之后,就可以看到剛才在主數(shù)據(jù)庫服務(wù)器上創(chuàng)建的發(fā)布:

Next,進(jìn)入“分發(fā)代理工作位置”的選擇窗口:

 

 

我們這里選擇pull subscriptions,把數(shù)據(jù)給拉過來,這樣主數(shù)據(jù)庫服務(wù)器的負(fù)擔(dān)會輕些。

Next,選擇訂閱服務(wù)器上的數(shù)據(jù)庫,之前我們已經(jīng)建好同名的數(shù)據(jù)庫,所以系統(tǒng)自己會找到。

Next,進(jìn)入分發(fā)代理安全設(shè)置窗口:

點(diǎn)擊紅框內(nèi)的按鈕,進(jìn)入設(shè)置窗口:

設(shè)置如上圖,Connect to the Distributor處設(shè)置的是發(fā)布服務(wù)器的sa帳戶。

OK, Next, Next, Next:

Next, Finish, Success:

備份數(shù)據(jù)庫的訂閱就建好了!

現(xiàn)在來瞧一瞧訂閱服務(wù)器CNBlogsDB2上的用于復(fù)制的數(shù)據(jù)庫CNBlogsDemo:

看!我們在發(fā)布服務(wù)器上建立的表CNBlogsTest復(fù)制過來了。

現(xiàn)在我們?nèi)グl(fā)布服務(wù)器CNBlogsDB1上添加一條記錄:

再去訂閱服務(wù)器CNBlogsDB2瞧一瞧:

數(shù)據(jù)立即同步過來了!搞定!

    

遇到的問題:

在測試過程中被兩個(gè)問題折騰了很長時(shí)間。

1)發(fā)布服務(wù)器的Log Reader Agent不能啟動,錯(cuò)誤信息:

· The process could not execute 'sp_replcmds' on 'YCSERVER006'. (Source: MSSQL_REPL, Error number: MSSQL_REPL20011)
Get help: http://help/MSSQL_REPL20011
· Cannot execute as the database principal because the principal "dbo" does not exist, this type of principal cannot be impersonated, or you do not have permission. (Source: MSSQLServer, Error number: 15517)
Get help: http://help/15517
· The process could not execute 'sp_replcmds' on 'YCSERVER006'. (Source: MSSQL_REPL, Error number: MSSQL_REPL22037)
Get help: http://help/MSSQL_REPL22037

開始測試時(shí),附加了一個(gè)現(xiàn)有數(shù)據(jù)庫進(jìn)行復(fù)制遇到了這個(gè)問題,附加的是一下SQL Server 2005數(shù)據(jù)庫文件,Owner為空,改為sa問題就解決了,如下圖:

2)第二個(gè)問題就是前面已經(jīng)描述過的訂閱服務(wù)器訪問發(fā)布服務(wù)器上的快照文件夾的問題,后來通過FTP的方式解決的。

對于SQL Server 2008數(shù)據(jù)庫復(fù)制,目前我就學(xué)習(xí)了這些,期待園子里有這方面經(jīng)驗(yàn)的朋友也來分享一下,在分享過程中你也會學(xué)到很多。

您可能感興趣的文章:
  • SQL Server 2005/2008 用戶數(shù)據(jù)庫文件默認(rèn)路徑和默認(rèn)備份路徑修改方法
  • SQL Server 2008 備份數(shù)據(jù)庫、還原數(shù)據(jù)庫的方法
  • SQL server 2008 數(shù)據(jù)安全(備份和恢復(fù)數(shù)據(jù)庫)
  • SQL Server 2008及更高版本數(shù)據(jù)庫恢復(fù)方法之日志尾部備份
  • sql server 2008 壓縮備份數(shù)據(jù)庫(20g)
  • 設(shè)定sql server定期自動備份數(shù)據(jù)庫
  • SQLServer2005 按照日期自動備份的方法
  • sqlserver2005打造自動備份的維護(hù)計(jì)劃圖解教程
  • sqlserver 自動備份所有數(shù)據(jù)庫的SQL
  • SQL Server 2008數(shù)據(jù)庫設(shè)置定期自動備份的方法

標(biāo)簽:茂名 潛江 長白山 平頂山 唐山 貴港 惠州 仙桃

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《通過SQL Server 2008數(shù)據(jù)庫復(fù)制實(shí)現(xiàn)數(shù)據(jù)庫同步備份》,本文關(guān)鍵詞  通過,SQL,Server,2008,數(shù)據(jù)庫,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《通過SQL Server 2008數(shù)據(jù)庫復(fù)制實(shí)現(xiàn)數(shù)據(jù)庫同步備份》相關(guān)的同類信息!
  • 本頁收集關(guān)于通過SQL Server 2008數(shù)據(jù)庫復(fù)制實(shí)現(xiàn)數(shù)據(jù)庫同步備份的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    靖边县| 田东县| 紫阳县| 阜阳市| 南雄市| 漾濞| 永川市| 青岛市| 固始县| 登封市| 南召县| 庄河市| 达拉特旗| 天全县| 桑植县| 扬州市| 图们市| 子长县| 巨鹿县| 本溪| 固阳县| 凭祥市| 富源县| 诸暨市| 崇仁县| 会同县| 嵩明县| 海原县| 辽源市| 镇巴县| 城口县| 张掖市| 肥乡县| 姜堰市| 蒲城县| 景德镇市| 彩票| 阳春市| 恭城| 鄄城县| 云梦县|