2012年5月
微軟新一代數據庫產品SQL Server 2012已經面世一段時間了,無論從功能仍是性能上講,較之其早期產品都有了很大提高。特別是其引入高可用性組(AlwaysOn Group, AG)這一律念和功能,大大加強和提升了SQL Server的可用性,在以前的鏡像數據庫的基礎上有了質的變化。數據庫
SQL Server 2012高可用性組在實現過程當中較之早期的SQL Server故障轉移羣集來說,不依賴特別提供共享存儲磁盤陣列,每一個節點獨立存儲一份數據庫的副本。其較之早期的鏡像數據庫來說,提供多節點高可用,而且針對數據庫輔助節點副本可讀;此外,在當前可讀節點出現故障時,能經過AG自身的機制保證數據庫正常訪問,而不須要像以前的鏡像數據庫同樣,須要經過訪問端來進行切換。服務器
所以,如下將對SQL Server 2012高可用性組的實現進行詳細介紹。網絡
1、具體的環境以下
在Windows域中,部署3臺成員服務器用做SQL Server服務器,由於SQL Server 2012的高可用性組須要Windows的羣集服務支持,因此必須預先在這些成員服務器上實現WSFC。服務器的操做系統均爲Windows Server 2012 R2,所以其WSFC的仲裁配置有多數(奇數)節點、節點(偶數)和磁盤多數、多數節點(偶數)和文件共享、非多數:僅磁盤等4種。在此,爲了體現SQL Server AG無須要各節點共享存儲設備這一特性,準備使用3個節點實現。因爲是奇數,因此選擇多數節點仲裁配置。雖然這種仲裁配置不是被SQL Server 2012 AG推薦的,可是並不影響AG的實現和使用。app
另外,因爲本文着重講述SQL Server 2012 AG的實現,因此對於服務器基本配置和網絡設置,以及Windows活動目錄和域的實如今此略去。異步
2、實現SQL Server 2012高可用性組必須的WSFC環境
首先在每臺成員服務器上安裝並配置WSFC,以配置SQL03爲例:分佈式
一、安裝WSFC羣集組件
1)打開服務器管理器,選擇「功能」,在右邊窗口中點擊「添加功能」。
2)在添加功能嚮導中,勾選「故障轉移羣集」,點擊「下一步」。
3)在「確認安裝選擇」頁面中,點擊「安裝」,進行安裝操做。
4)完成並關閉「故障轉移羣集」的安裝。
二、配置WSFC
爲全部節點均安裝完「故障轉移羣集」服務後,在任意節點服務器的「服務器管理器」中展開「故障轉移羣集管理器」對WSFC進行配置。工具
1)經過「故障轉移羣集管理器」窗口點擊「建立一個羣集」打開「建立羣集嚮導」
2)在「開始以前」頁中,點擊「下一步」。
3)添加全部服務器節點,即將環境中的3臺成員服務器添加爲羣集節點服務器。點擊「下一步」。
4)在「驗證警告」頁面中,若是須要對基本環境(包括硬件)進行WSFC需求驗證,能夠選擇「是」。在本示例中因爲沒必要需進行驗證,因此選擇「否」。點擊「下一步」。
5)定義「用於管理羣集的訪問點」,爲羣集進行名,並指定羣集IP地址。點擊「下一步」。
6)確認以前配置信息,若無誤,點擊「下一步」,開始羣集建立。
7)完成羣集建立,點擊「完成」關閉嚮導。
8)在「故障轉移羣集管理器」會顯示成功建立的羣集,展開其「節點」,顯示現有節點狀況。
9)右擊羣集節點,在上下文菜單中點擊「更多操做」,在擴展菜單中選擇「配置羣集仲裁設置」爲該羣集配置仲裁。
10)在「開始以前」頁面中點擊「下一步」。
11)根據此前的設計,因爲是奇數節點,而且沒有共享磁盤存儲和共享文件夾存在,因此能夠選擇「多數節點」,點擊「下一步」。
12)在「確認」頁面中,點擊「下一步」。
13)完成WSFC的仲裁配置。
至此,爲SQL Server 2012 AG準備的WSFC環境已經完成。性能
3、爲各節點服務器安裝並配置SQL Server 2012,以SQL03爲例進行以下操做。
一、安裝SQL Server 2012
1)在節點服務器上,插入SQL Server 2012安裝介質。運行「SQL Server安裝中心」,選擇「安裝」,點擊「全新SQL Server獨立安裝或向現有安裝添加功能」。
Note: |
---|
注意:這裏不要選擇「新的SQL Server故障轉移羣集安裝」,若是是故障轉移羣集安裝的話最終將實現的是早期的SQL數據庫羣集,而且須要共享數據存儲磁盤整列,致使全部SQL節點共享同一個數據存儲副本。 |
2)使用安裝程序支持規則驗證是否經過。
3)指定產品密鑰,或選擇Evaluation版本。
4)接受許可協議
5)運行檢查「安裝程序支持規則」,驗證SQL Server 2012運行環境是否符合要求。
與以前版本相同,須要對SQL Server必要的端口打開Windows防火牆的入站規則,好比TCP- 1433端口等。lua
Note: |
---|
特別注意:因爲AG默認須要用到TCP-5022端口,因此該端口務必保證在Windows防火牆中開啓,容許其入站訪問。 |
6)設置SQL Server 2012服務器角色爲「具備默認值的全部功能」,點擊「下一步」。
7)在「功能選擇」列表中選擇實際所需功能,在此,爲了簡便再也不進行自定義。直接使用默認選中組件。而且,須要指定相應的「共享功能目錄」,即SQL Server的安裝位置。
8)再次檢查安裝規則是否能正常執行經過。
9)選擇並指定實例名,在此使用默認實例來進行示範,而且指定「實例根目錄」。
10)檢查磁盤空間要求是否達到SQL Server 2012的安裝需求,點擊「下一步」。
11)指定「服務帳戶」和「排序規則」,在此選擇默認設置。若是須要在完成安裝後進行自定義配置,點擊「下一步」。
12)在「數據庫引擎配置」頁面中,指定服務器配置身份驗證爲默認的「Windows身份驗證模式」,「添加當前用戶」爲SQL Server的管理員,如有須要可進行響應的自定義配置。此外還可在「數據目錄」選項卡中指定相應該實例默認的數據庫文件存儲路徑。點擊「下一步」。
13)在「Analysis Services配置」頁面進行和「數據庫引擎配置」頁面中相似的配置。點擊「下一步」。
14)在「Reporting Services配置」頁面中,選擇默認設置,點擊「下一步」。
15)「添加當前用戶」爲「分佈式重播控制器」的管理員。點擊「下一步」。
16)爲「分佈式重播客戶端」指定相應控制器和數據庫目錄。在此,採用默認配置,控制器名稱可不填寫。點擊「下一步」。
Note: |
---|
注意:以上第13-16步根據第7步中所選功能不一樣,配置狀況有所差別。 |
17)是否發送錯誤報告頁面中可選擇是否將錯誤報告發送給微軟。
18)在進行安裝前,執行最後一次「安裝配置規則」檢查,確認是否符合安裝需求。
19)在「準備安裝」頁面中,確認以前進行的各類參數配置是否正確,若是無誤,點擊「安裝」,啓動安裝進程。
20)安裝完成後,獲得成功完成的頁面。若是在該頁面中顯示全部功能均爲綠色對勾,那麼證實SQL Server 2012安裝無誤。
21)可能在某些環境中安裝,會收到以下提示,只需重啓服務器操做系統便可。
二、爲高可用性組配置SQL Server 2012數據庫引擎服務。
1)在「開始」菜單中點擊「全部程序」-「Microsoft SQL Server 2012」-「配置工具」,打開「SQL Server配置管理器」。
2)在控制檯中點擊「SQL Server服務」節點,在右邊窗口中右擊「SQL Server (MSSQLSERVER)」,在上下文菜單中選擇「屬性」。
3)在彈出窗口中選擇「AlwaysOn 高可用性」選項卡中勾選「啓用AlwaysOn 可用性組」。點擊「確認」。
4)在彈出警告對話框中提示該修改須要重啓SQL Server數據庫引擎服務才能生效,點擊「肯定」。
5)再次右擊「SQL Server (MSSQLSERVER)」,在上下文菜單中選擇「從新啓動」,對數據庫引擎執行重啓操做。
6)爲了不在實現AlwaysOn Group時帶來複雜的權限設置,建議將相關的SQL服務(如:SQL Server數據庫引擎服務)啓動登陸身份由默認的「內置帳戶」改成指定的域帳戶。
7)建議爲該域帳戶授予各節點SQL Server登陸權限,並將各節點服務器帳戶指派爲SQL Server登陸帳戶。
以上步驟在SQL01/02上均進行相同的操做便可。操作系統
4、建立配置高可用性組
高可用性組的建立操做能夠有三種方式:嚮導方式、對話框方式和腳本方式,在此以嚮導方式SQL03上建立的DB01做爲主數據庫爲例進行介紹。
一、爲高可用性組建立配置數據庫
要使用嚮導建立高可用性組,必需要有符合條件的數據庫存在,才能進行相關的操做。那麼數據庫要符合怎樣的條件才能知足條件呢?
1)主數據庫的恢復模式必須是「完整」恢復模式。
2)主數據庫已進行了一次完整備份。
3)須要一個共享路徑提供給備份包存儲,並容許全部節點服務器(SQL Server數據庫引擎服務登陸帳戶)可以經過UNC路勁進行可讀寫訪問。
二、利用嚮導新建高可用性組
1)在「開始」菜單中點擊「全部程序」-「Microsoft SQL Server 2012」-「配置工具」,打開「SQL Server Management Studio」。
2)展開「AlwaysOn高可用性」節點,右擊「可用性組」,在上下文菜單中,選擇「新建可用性組嚮導」。
3)在「簡介」頁面點擊「下一步」。
4)爲將要建立的高可用性組指定名稱。
5)選擇知足加入高可用性組條件的數據庫,點擊「下一步」。
6)爲高可用性組添加其它SQL Server服務器節點爲副本。點擊「添加副本」按鈕,一次添加所需SQL Server服務器,而且指定初始角色爲「主」或「輔助」。最多可選2個副本實現自動故障轉移,這兩個副本將同時使用同步提交可用性模式。最多可支持3個副本進行同步提交可用性模式,若使用異步提交必須強制手動故障轉移。對於可讀輔助副本設置來說,可選擇其爲是否可讀或僅讀意向,須要注意只有主數據庫副本纔可寫。
7)點擊「端點」選項卡,能夠設置高可用性組的端點URL。使用默認設置便可。
8)在「備份首選項」中,指定做爲備份副本的節點。默認是在「首選輔助副本」中進行備份。能夠經過副本備份優先級來指定首選。默認全部節點均爲50。
9)爲高可用性組建立偵聽器,指定其DNS名稱的Host Name和端口,建議IP地址使用靜態IP,而且添加新的羣集IP做爲高可用性組使用,如此能夠指定SQL Server的默認端口1443,以便簡化客戶端訪問的配置。
10)初始化數據同步首選項,建議選擇「完整」,並指定以前建立的UNC共享路徑。點擊「下一步」
11)驗證是否知足高可用性組建立需求,若是結果全爲綠色對勾,點擊「下一步」。
12)檢查並確認以前的配置信息,若無誤,點擊「完成」。另外,此處也可保存建組腳本,以便分步診斷故障之用。
13)等待嚮導完成建立SQL Server 2012高可用性組。
14)知道最終完成,全部摘要均成功完成,顯示綠色對勾。若是出現黃色警告,則需進行進一步判斷是否成功。若出現紅色錯誤,表示建立AG不成功。
在此,出現了黃色告警,點擊「警告」,在彈出對話框中顯示以下:
能夠代表高可用性組成功建立,但WSFC的「多數節點」仲裁模式不是被推薦的。
15)返回SSMS窗口,在「可用性組」節點下顯示「AG01」的面板,能夠觀察該高可用性組的狀態。
三、高可用性組的基本管理
建立完成高可用性組後,可用經過SSMS對高可用性組進行基本的管理。
1)直接右擊須要管理的高可用性組,在上下文菜單中能夠選擇爲其「添加新數據庫」、「添加副本」、「添加偵聽器」及手動執行「故障轉移」等操做。點擊「屬性」,也能夠編輯該AG的各類屬性值。
2)在高可用性組的屬性「常規」選項卡中,能夠爲其添加/刪除數據庫、副本節點,並配置各可用性副本節點的參數設定值。
3)在「備份首選項」選項卡中,能夠修改相應副本節點的備份優先級和備份執行的位置。
4)針對高可用性組中具體的副本節點配置,能夠展開該組中「可用性副本」,右擊須要配置的副本節點,在上下文菜單中點擊「屬性」。
5)在其「常規」選項卡中能夠修改配置當前副本節點「可用性模式」、「故障轉移模式」以及「會話超時」時間等。
6)能夠經過右擊「可用性組偵聽器」中的具體偵聽器,打開其「屬性」,對偵聽器進行相應配置。
7)能夠修改偵聽器的偵聽端口,從而指定客戶端訪問AG中數據庫所須要鏈接的服務端口。
至此,基於WSFC實現SQL Server 2012高可用性組的主要操做介紹完畢。總結關鍵步驟以下,首先配置WSFC,而後在各節點獨立安裝SQL Server 2012實例(非羣集實例),完成安裝後在SQL Server配置管理器中針對數據庫引擎服務啓用「高可用性組」功能,最後經過SQL Server系統管理器建立維護高可用性組。