SQL Server 2008數(shù)據(jù)庫復(fù)制是通過發(fā)布/訂閱的機(jī)制進(jìn)行多臺服務(wù)器之間的數(shù)據(jù)同步,我們把它用于數(shù)據(jù)庫的同步備份。這里的同步備份指的是備份服務(wù)器與主服務(wù)器進(jìn)行實時數(shù)據(jù)同步,正常情況下只使用主數(shù)據(jù)庫服務(wù)器,備份服務(wù)器只在主服務(wù)器出現(xiàn)故障時投入使用。它是一種優(yōu)于文件備份的數(shù)據(jù)庫備份解決方案。
在選擇數(shù)據(jù)庫同步備份解決方案時,我們評估了兩種方式:SQL Server 2008的數(shù)據(jù)庫鏡像和SQL Server 2008數(shù)據(jù)庫復(fù)制。數(shù)據(jù)庫鏡像的優(yōu)點是系統(tǒng)能自動發(fā)現(xiàn)主服務(wù)器故障,并且自動切換至鏡像服務(wù)器。但缺點是配置復(fù)雜,鏡像數(shù)據(jù)庫中的數(shù)據(jù)不可見(在SQL Server Management Studio中,只能看到鏡像數(shù)據(jù)庫處于鏡像狀態(tài),無法進(jìn)行任何數(shù)據(jù)庫操作,最簡單的查詢也不行。想眼見為實,看看鏡像數(shù)據(jù)庫中的數(shù)據(jù)是否正確都不行。只有將鏡像數(shù)據(jù)庫切換主數(shù)據(jù)庫才可見)。如果你要使用數(shù)據(jù)庫鏡像,強烈推薦killkill寫的SQL Server 2005 鏡像構(gòu)建手冊,我們就是按照這篇文章完成了數(shù)據(jù)庫鏡像部署測試。
最終,我們選擇了SQL Server 2008數(shù)據(jù)庫復(fù)制。
下面通過一個示例和大家一起學(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。