應(yīng)用維護(hù):SQL Server 2008高可用性
博客園 發(fā)表于:12年09月05日 10:48 [原創(chuàng)] DOIT.com.cn
數(shù)據(jù)庫鏡像
數(shù)據(jù)庫鏡像與日志傳送非常相似,即事務(wù)日志記錄是從源數(shù)據(jù)庫發(fā)送到目標(biāo)數(shù)據(jù)庫。不過,和基于文件復(fù)制的事務(wù)日志不同的是,單獨(dú)的日志記錄是基于事務(wù)發(fā)送的。盡管數(shù)據(jù)庫鏡像也是一個數(shù)據(jù)庫級別的冗余解決方案,但它依賴于服務(wù)間不斷通信來維護(hù)事務(wù)完整性。數(shù)據(jù)庫鏡像還提供了一個在配置了另外一個見證服務(wù)器時自動并且?guī)缀跛矔r故障轉(zhuǎn)移的額外好處。數(shù)據(jù)庫鏡像的配置是通過在駐留主體數(shù)據(jù)庫的服務(wù)器和主流鏡像數(shù)據(jù)庫的服務(wù)器之間建立合作關(guān)系完成的。兩者之間的通信通過使用SQL Server端點(diǎn)建立和維護(hù),而不是使用文件系統(tǒng)作為維護(hù)兩個服務(wù)器之間的一致性方法。日志傳送和數(shù)據(jù)庫鏡像的另外一個主要區(qū)別是,數(shù)據(jù)庫鏡像限制每個數(shù)據(jù)庫智能有一個主題服務(wù)器和一個鏡像服務(wù)器。
數(shù)據(jù)庫鏡像配置中的3個服務(wù)器角色如下:主體服務(wù)器、鏡像服務(wù)器、見證服務(wù)器(可選)。在使用數(shù)據(jù)庫鏡像時,客戶端請求無法直接訪問鏡像數(shù)據(jù)庫,因?yàn)樗恢碧幱诨謴?fù)事務(wù)日志記錄的狀態(tài)下。但是,可以通過創(chuàng)建鏡像數(shù)據(jù)庫的數(shù)據(jù)庫快照配置間接訪問。還要注意,數(shù)據(jù)庫鏡像不能與啟用了FILESTREAM 存儲的數(shù)據(jù)庫一起使用。
客戶端重定向:數(shù)據(jù)庫鏡像的優(yōu)勢之一是如果主體數(shù)據(jù)庫出現(xiàn)故障,客戶端可以被自動重定向到鏡像服務(wù)器。然而,自動重定向不是基于服務(wù)器的功能。通過添加Failover Partner屬性,可以將客戶端的聯(lián)接字符串配置為與鏡像的數(shù)據(jù)庫一起工作,如果聯(lián)接Server屬性標(biāo)識的服務(wù)器失敗,那么它會嘗試連接由 Failover Partner屬性標(biāo)識的數(shù)據(jù)庫,反之亦然,如果聯(lián)接故障轉(zhuǎn)移伙伴不可用,就會嘗試連接原服務(wù)器
Server=AughtEight;Failover Partner=Dagobah;Database=AdventureWorks2008
數(shù)據(jù)庫鏡像模式:數(shù)據(jù)庫可以被配置為使用高性能模式、不支持自動故障轉(zhuǎn)移的高安全性模式以及支持故障轉(zhuǎn)移的高安全性模式。高性能模式使用異步處理,當(dāng)主體服務(wù)器把事務(wù)日志記錄發(fā)送到鏡像服務(wù)器之后,會立刻向客戶端應(yīng)用程序發(fā)送一個事務(wù)成功的確認(rèn),但是不會等待鏡像服務(wù)器確認(rèn)接收日志記錄。在高性能模式下,不存在自動故障轉(zhuǎn)移也不需要見證服務(wù)器,因?yàn)橹黝}服務(wù)器出現(xiàn)故障時仍然會要求強(qiáng)制執(zhí)行鏡像服務(wù)器上的數(shù)據(jù)庫服務(wù)。一旦原來的主主體服務(wù)器恢復(fù)服務(wù),它會配置自身為鏡像服務(wù)器,但是鏡像會話仍然會處于SUSPENDED狀態(tài),除非管理員明確要求恢復(fù)。不支持自動故障轉(zhuǎn)移的高安全性模式中,在鏡像服務(wù)器確認(rèn)收到了相應(yīng)的事務(wù)日志記錄之前,主體服務(wù)器不會給客戶端發(fā)送事務(wù)成功的確認(rèn)消息。該模式中沒有自動故障轉(zhuǎn)移,也沒有見證服務(wù)器,主體數(shù)據(jù)庫出現(xiàn)故障后要求手動強(qiáng)制見證服務(wù)器上的服務(wù)器提升其主體。在鏡像服務(wù)器出現(xiàn)故障的情況下,客戶端仍然可以使用主體服務(wù)器,但是鏡像會話會處于斷開連接的狀態(tài)。支持自動故障轉(zhuǎn)移的高安全性模式中,見證服務(wù)器用于提供自動故障轉(zhuǎn)移。見證服務(wù)器不直接參與鏡像過程,而是作為兩個服務(wù)器之間的監(jiān)督員,只要三個參與此模式的服務(wù)器中有兩個能夠保證連接性,那么數(shù)據(jù)庫就會對客戶端請求可用。當(dāng)兩個服務(wù)器就鏡像會話的狀態(tài)取得一致時,這就被叫做仲裁,如果鏡像或主體服務(wù)器丟失了仲裁,鏡像配置也會相應(yīng)的改變。
使用SQL Server Management Studio配置數(shù)據(jù)庫鏡像:打開數(shù)據(jù)庫屬性-鏡像頁面,或者從任務(wù)-鏡像菜單打開這個頁面,單擊配置安全性按鈕啟動向?qū),要求為主體、鏡像和見證服務(wù)器端點(diǎn)提供聯(lián)接選項(xiàng)。單擊下一步進(jìn)入下一頁面,向?qū)儐柺欠褚渲靡粋見證服務(wù)器;向?qū)У南乱豁撁嬉髽?biāo)識在這個向?qū)Ю镆渲玫姆⻊?wù)器,您需要檢查所有參與的服務(wù)器,包括見證服務(wù)器(如果使用了的話)。進(jìn)入下一頁面,配置主體服務(wù)器的選項(xiàng);接下來需要為鏡像服務(wù)器配置同樣的信息,注意,擋在每個服務(wù)器上創(chuàng)建端點(diǎn)時,必須有在端點(diǎn)上創(chuàng)建和配置安全性的適當(dāng)權(quán)限;如果配置了見證服務(wù)器,下一頁面要求為見證服務(wù)器提供服務(wù)器名稱和端點(diǎn)配置,其中需要注意一點(diǎn),即如果同一物理服務(wù)器上有多個角色,那么端口號必須butong.youyu數(shù)據(jù)庫鏡像起作用的條件中并不要求所有的及其都采用相同的配置,甚至不要求他們是同一個域中的成員,所以向?qū)г试S為每個服務(wù)器指定賬戶信息。輸入這些信息后,就可以通過向?qū)У恼撁娌榭磁渲。如果對設(shè)置感到滿意,可以單擊完成按鈕來創(chuàng)建端點(diǎn),如有必要,應(yīng)用合適的權(quán)限。在完成向?qū)Ш螅琒QL Server會提示立刻開始鏡像還是延遲鏡像。如果確定配置是正確的,并且鏡像服務(wù)器和主體服務(wù)器時一致的,那么就可以單擊按鈕開始鏡像。
在主體服務(wù)器和鏡像服務(wù)器上執(zhí)行此語句會創(chuàng)建可用于鏡像的同樣的端點(diǎn)。如果只是測試鏡像,并且沒有使用一個單獨(dú)的物理服務(wù)器,那么只要這些端點(diǎn)使用不同的端口號,就可以安裝另一個實(shí)例來鏡像數(shù)據(jù)庫。在使用一個見證服務(wù)器時,在見證實(shí)例上執(zhí)行下列命令來創(chuàng)建合適的端點(diǎn):
- -- Create Witness Endpoint
- USE Master;
- GO
- CREATE ENDPOINT WitnessEndPoint
- STATE = STARTED
- AS TCP ( LISTENER_PORT = 5024 )
- FOR DATABASE_MIRRORING (ROLE=WITNESS)
- GO
公司簡介 | 媒體優(yōu)勢 | 廣告服務(wù) | 客戶寄語 | DOIT歷程 | 誠聘英才 | 聯(lián)系我們 | 會員注冊 | 訂閱中心
Copyright © 2013 DOIT Media, All rights Reserved. 北京楚科信息技術(shù)有限公司 版權(quán)所有.