SQL Server 2008 數(shù)據(jù)庫鏡像部署實(shí)例之三 配置見證服務(wù)器
前面已經(jīng)完成了鏡像數(shù)據(jù)庫的配置,并進(jìn)行那個(gè)了故障轉(zhuǎn)移測試。接下來將部署見證服務(wù)器,實(shí)現(xiàn)自動故障轉(zhuǎn)移。
一、關(guān)于見證服務(wù)器
1、若要支持自動故障轉(zhuǎn)移,必須在高安全性模式下配置數(shù)據(jù)庫鏡像會話,并且還要具有第三個(gè)服務(wù)器實(shí)例(也稱為“見證服務(wù)器”)。見證服務(wù)器是 SQL Server 的可選實(shí)例,它能使高安全性模式會話中的鏡像服務(wù)器識別出是否要啟動自動故障轉(zhuǎn)移。與這兩個(gè)伙伴不同的是,見證服務(wù)器并不能用于數(shù)據(jù)庫。見證服務(wù)器的唯一角色是支持自動故障轉(zhuǎn)移。
2、為了給數(shù)據(jù)庫設(shè)置見證服務(wù)器,數(shù)據(jù)庫所有者為見證服務(wù)器的角色分配數(shù)據(jù)庫引擎實(shí)例。見證服務(wù)器實(shí)例可以與主體服務(wù)器實(shí)例或鏡像服務(wù)器實(shí)例運(yùn)行于同一臺計(jì)算機(jī)上,但這樣會明顯降低自動故障轉(zhuǎn)移的可靠性。因此建議見證服務(wù)器應(yīng)位于另外一臺計(jì)算機(jī)上。
3、在高性能模式下,見證服務(wù)器對可用性會有不利影響。如果見證服務(wù)器是針對數(shù)據(jù)庫鏡像會話而配置,則主體服務(wù)器必須至少連接到一個(gè)其他服務(wù)器實(shí)例,即鏡像服務(wù)器或見證服務(wù)器,或者是連接到這兩個(gè)服務(wù)器。否則,將無法使用數(shù)據(jù)庫,并且不能進(jìn)行強(qiáng)制服務(wù)(可能丟失數(shù)據(jù))。因此,對于高性能模式,我們極力建議您始終將見證服務(wù)器設(shè)置為 OFF。
二、關(guān)于自動故障轉(zhuǎn)移
1、只有在高安全性模式(“具有自動故障轉(zhuǎn)移功能的高安全性模式”)下運(yùn)行并且具有見證服務(wù)器的數(shù)據(jù)庫鏡像會話支持自動故障轉(zhuǎn)移。在具有自動故障轉(zhuǎn)移功能的高安全性模式下,同步數(shù)據(jù)庫后,如果主體數(shù)據(jù)庫變得不可用,則會發(fā)生自動故障轉(zhuǎn)移。自動故障轉(zhuǎn)移將導(dǎo)致鏡像服務(wù)器接管主體服務(wù)器的角色,并使其數(shù)據(jù)庫的副本聯(lián)機(jī)以作為主體數(shù)據(jù)庫。因?yàn)槊總€(gè)在主體數(shù)據(jù)庫中提交的事務(wù)同時(shí)也在鏡像數(shù)據(jù)庫中提交,所以需要使數(shù)據(jù)庫保持同步以防止在故障轉(zhuǎn)移過程中丟失數(shù)據(jù)。
2、自動故障轉(zhuǎn)移所需條件
A、數(shù)據(jù)庫鏡像會話必須在高安全性模式下運(yùn)行,并且必須處理見證服務(wù)器。
B、鏡像數(shù)據(jù)庫必須已經(jīng)同步。這將保證發(fā)送到鏡像服務(wù)器的所有日志都已寫入磁盤。
C、主體服務(wù)器已中斷了與其余數(shù)據(jù)庫鏡像配置的通信,而鏡像服務(wù)器和見證服務(wù)器將保留仲裁。但是,如果所有服務(wù)器實(shí)例都已中斷通信,而見證服務(wù)器和鏡像服務(wù)器稍后重新建立通信,則不會發(fā)生自動故障轉(zhuǎn)移。
D、鏡像服務(wù)器已檢測到丟失了主體服務(wù)器
E、鏡像服務(wù)器檢測主體服務(wù)器故障的方式取決于故障是硬故障還是軟故障。
更多自動故障轉(zhuǎn)移內(nèi)容參考
http://msdn.microsoft.com/zh-cn/library/ms189590.aspx
三、自動故障轉(zhuǎn)移原理
1、如果主體服務(wù)器仍在運(yùn)行中,則將主體數(shù)據(jù)庫的狀態(tài)更改為 DISCONNECTED 并斷開所有客戶端與主體數(shù)據(jù)庫的連接。
2、見證服務(wù)器和鏡像服務(wù)器將主體服務(wù)器注冊為不可用。
3、如果重做隊(duì)列中有任何等待的日志,則鏡像服務(wù)器將完成前滾鏡像數(shù)據(jù)庫的操作
4、前一個(gè)鏡像數(shù)據(jù)庫作為新的聯(lián)機(jī)主體數(shù)據(jù)庫,恢復(fù)通過盡快回滾未提交的事務(wù)將這些事務(wù)全部清除。鎖將隔離這些事務(wù)。
5、當(dāng)前一個(gè)主體服務(wù)器重新聯(lián)接到會話時(shí),它將認(rèn)定其故障轉(zhuǎn)移伙伴現(xiàn)在擁有主體角色。前一個(gè)主體服務(wù)器接管鏡像角色,并將其數(shù)據(jù)庫作為鏡像數(shù)據(jù)庫。新的鏡像服務(wù)器會盡快將新的鏡像數(shù)據(jù)庫與主體數(shù)據(jù)庫同步。新的鏡像服務(wù)器重新同步數(shù)據(jù)庫后,就可以再次執(zhí)行故障轉(zhuǎn)移,但按反向執(zhí)行。。
下圖說明了自動故障轉(zhuǎn)移的一個(gè)實(shí)例。
四、在見證服務(wù)器上看裝SQL Server 2008
詳見《SQL Server 2008 數(shù)據(jù)庫鏡像部署實(shí)例之一》
五、配置見證服務(wù)器
1、主體數(shù)據(jù)庫服務(wù)器上,右鍵點(diǎn)擊數(shù)據(jù)庫,選擇任務(wù)——鏡像
2、在彈出的數(shù)據(jù)庫屬性頁面中,選定鏡像頁,點(diǎn)擊右側(cè)的配置安全
3、點(diǎn)擊下一步,選擇包括見證服務(wù)器
4、點(diǎn)擊下一步,進(jìn)行見證服務(wù)器配置
5、點(diǎn)擊兩次下一步,填入見證服務(wù)器地址或機(jī)器名及站點(diǎn)名稱
6、填入服務(wù)賬戶
7、查看摘要信息,點(diǎn)擊完成
六、測試自動故障轉(zhuǎn)移
1、當(dāng)前主體服務(wù)器為Hytest01,鏡像數(shù)據(jù)庫是Hytest02
2、將主體服務(wù)器Hytest1的網(wǎng)絡(luò)斷開,看數(shù)據(jù)庫是否自動轉(zhuǎn)移到鏡像服務(wù)器Hytest02上
鏡像設(shè)置顯示,主體服務(wù)器、鏡像服務(wù)器角色也互換了。
有人會說,兩個(gè)數(shù)據(jù)庫,IP地址都不一樣,怎么寫連接代碼呢?難道出現(xiàn)故障后要手動更改代碼嗎?其實(shí)使用ADO.NET或者SQL Native Client能夠自動連接到故障轉(zhuǎn)移后的伙伴,連接字符串如下所示:
ConnectionString="DataSource= A;Failover Partner=B;Initial Catalog=AdventureWorks;Integrated Security=true;" DataSource= A;
這樣設(shè)置之后,客戶端就可以自動切換數(shù)據(jù)庫了
至此SQL Server 2008 的鏡像高可用配置實(shí)例全部完成。
相關(guān)文章
圖文詳解Windows Server2012 R2中安裝SQL Server2008
這篇文章主要以圖文結(jié)合的方式向大家推薦Windows Server2012 R2中安裝SQL Server2008的詳細(xì)過程,感興趣的小伙伴們可以參考一下2015-11-11SQL2008中 阻止保存要求重新創(chuàng)建表的更改 的解決方法
當(dāng)用戶在在SQL Server 2008企業(yè)管理器中更改表結(jié)構(gòu)時(shí),必須要先刪除原來的表,然后重新創(chuàng)建新表,才能完成表的更改2009-06-06MyEclipse 配置SQL Server 2008數(shù)據(jù)庫驅(qū)動操作步驟
本篇文章小編為大家介紹,MyEclipse 配置SQL Server 2008數(shù)據(jù)庫驅(qū)動操作步驟。有需要的朋友參考下2013-04-04SQL Server使用一個(gè)語句塊批量插入多條記錄的三種方法
本文介紹了三種不同的方法向數(shù)據(jù)庫中一次插入多條記錄的方法,第三種方法是SQL Server2008中特有的,大家體驗(yàn)一下吧。2016-05-05SQL Server數(shù)據(jù)庫管理員(DBA)的工作內(nèi)容
DBA的工作目標(biāo)就是確保Microsoft SQL Server 2008系統(tǒng)正常高效地運(yùn)行。DBA的工作也是最繁忙的工作,無論是性能調(diào)整,還是災(zāi)難恢復(fù),都離不開DBA的支持2013-10-10sql2008保存注冊服務(wù)器的實(shí)現(xiàn)方法
今天突然想能不能把經(jīng)常要用的服務(wù)器連接都保存好,不用每次都進(jìn)這個(gè)畫面,然后連接呢,經(jīng)過查閱相關(guān)資料,果然有個(gè)懶人的方法2010-07-07SQL Server 2008還原數(shù)據(jù)庫的方法
這篇文章主要為大家詳細(xì)介紹了SQL Server 2008還原數(shù)據(jù)庫的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11SQL Server 2008打開輸入sa密碼提示無法登陸數(shù)據(jù)庫的解決方法
與 SQL Server建立連接時(shí)出現(xiàn)與網(wǎng)絡(luò)相關(guān)的或特定于實(shí)例的錯(cuò)誤,這篇文章主要介紹了SQL Server 2008打開輸入sa密碼提示無法登陸數(shù)據(jù)庫的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07