Sql Server 2012 集羣配置

基於Windows Server 2008 R2的WSFC實現SQL Server 2012高可用性組(AlwaysOn Group)

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)打開服務器管理器,選擇「功能」,在右邊窗口中點擊「添加功能」。

JJ161766.446DE9518C013DAE9700E88F5AD1EBB4(zh-cn,TechNet.10).png

2)在添加功能嚮導中,勾選「故障轉移羣集」,點擊「下一步」。

JJ161766.75D9676A2FD444C73261F4F5582D62B0(zh-cn,TechNet.10).png

3)在「確認安裝選擇」頁面中,點擊「安裝」,進行安裝操做。

JJ161766.ECA321D8E95BAB3796EFE69FC6422DBE(zh-cn,TechNet.10).png

4)完成並關閉「故障轉移羣集」的安裝。

JJ161766.FFB6A7B2AD974D43284BC95CA1CF5B63(zh-cn,TechNet.10).png

二、配置WSFC

爲全部節點均安裝完「故障轉移羣集」服務後,在任意節點服務器的「服務器管理器」中展開「故障轉移羣集管理器」對WSFC進行配置。工具

1)經過「故障轉移羣集管理器」窗口點擊「建立一個羣集」打開「建立羣集嚮導」

JJ161766.92179B2B7AB5F3391C291CDB9F9492B2(zh-cn,TechNet.10).png

2)在「開始以前」頁中,點擊「下一步」。

JJ161766.E340C5C6567574FC5B283D93DC9702CF(zh-cn,TechNet.10).png

3)添加全部服務器節點,即將環境中的3臺成員服務器添加爲羣集節點服務器。點擊「下一步」。

JJ161766.57A7DD874033A9EE6DE62CF9B33536D3(zh-cn,TechNet.10).png

4)在「驗證警告」頁面中,若是須要對基本環境(包括硬件)進行WSFC需求驗證,能夠選擇「是」。在本示例中因爲沒必要需進行驗證,因此選擇「否」。點擊「下一步」。

JJ161766.B2AAC3A544B1E7F121B31488F6B76F7B(zh-cn,TechNet.10).png

5)定義「用於管理羣集的訪問點」,爲羣集進行名,並指定羣集IP地址。點擊「下一步」。

JJ161766.3559677B316C2808F9A88C4BEC6C5EE3(zh-cn,TechNet.10).png

6)確認以前配置信息,若無誤,點擊「下一步」,開始羣集建立。

JJ161766.C08B6091EAB9773D86A29EFCAD8EEBF1(zh-cn,TechNet.10).png

7)完成羣集建立,點擊「完成」關閉嚮導。

JJ161766.27964D258198F8EAB102534D7907C4B4(zh-cn,TechNet.10).png

8)在「故障轉移羣集管理器」會顯示成功建立的羣集,展開其「節點」,顯示現有節點狀況。

JJ161766.67A2B42F99B3BB02FA277DA21C5F5477(zh-cn,TechNet.10).png

9)右擊羣集節點,在上下文菜單中點擊「更多操做」,在擴展菜單中選擇「配置羣集仲裁設置」爲該羣集配置仲裁。

JJ161766.DF5926D12820EFA9F9966E7A67EE521E(zh-cn,TechNet.10).png

10)在「開始以前」頁面中點擊「下一步」。

JJ161766.2EC8BA6F1B20391916F63D018012D13F(zh-cn,TechNet.10).png

11)根據此前的設計,因爲是奇數節點,而且沒有共享磁盤存儲和共享文件夾存在,因此能夠選擇「多數節點」,點擊「下一步」。

JJ161766.7A26C31B28EC0394938ECDD6136ACDEC(zh-cn,TechNet.10).png

12)在「確認」頁面中,點擊「下一步」。

JJ161766.BA1FF8542BA45253A13EC83C1CC8A833(zh-cn,TechNet.10).png

13)完成WSFC的仲裁配置。

JJ161766.8AAA34AA1A5B18AC92FF1DC0C5CF27B5(zh-cn,TechNet.10).png

至此,爲SQL Server 2012 AG準備的WSFC環境已經完成。性能

3、爲各節點服務器安裝並配置SQL Server 2012,以SQL03爲例進行以下操做。

一、安裝SQL Server 2012

1)在節點服務器上,插入SQL Server 2012安裝介質。運行「SQL Server安裝中心」,選擇「安裝」,點擊「全新SQL Server獨立安裝或向現有安裝添加功能」。

JJ161766.note(zh-cn,TechNet.10).gifNote:
注意:這裏不要選擇「新的SQL Server故障轉移羣集安裝」,若是是故障轉移羣集安裝的話最終將實現的是早期的SQL數據庫羣集,而且須要共享數據存儲磁盤整列,致使全部SQL節點共享同一個數據存儲副本。

 

JJ161766.93D0F41566B091C1B777F00EA06664EF(zh-cn,TechNet.10).png

2)使用安裝程序支持規則驗證是否經過。

JJ161766.B54F87EE4C4D2297FC6B09AA2C31ED36(zh-cn,TechNet.10).png

3)指定產品密鑰,或選擇Evaluation版本。

JJ161766.2A3B64548E17933FC38813B933551A40(zh-cn,TechNet.10).png

4)接受許可協議

JJ161766.04DD5417A4790DFA51E1261CDAA7F321(zh-cn,TechNet.10).png

5)運行檢查「安裝程序支持規則」,驗證SQL Server 2012運行環境是否符合要求。

JJ161766.054B6D86488D06B9DB4CEB39BE4B2882(zh-cn,TechNet.10).png

與以前版本相同,須要對SQL Server必要的端口打開Windows防火牆的入站規則,好比TCP- 1433端口等。lua

JJ161766.note(zh-cn,TechNet.10).gifNote:
特別注意:因爲AG默認須要用到TCP-5022端口,因此該端口務必保證在Windows防火牆中開啓,容許其入站訪問。

 

6)設置SQL Server 2012服務器角色爲「具備默認值的全部功能」,點擊「下一步」。

JJ161766.282AF8B62CB01F77FCDD895FE6582F65(zh-cn,TechNet.10).png

7)在「功能選擇」列表中選擇實際所需功能,在此,爲了簡便再也不進行自定義。直接使用默認選中組件。而且,須要指定相應的「共享功能目錄」,即SQL Server的安裝位置。

JJ161766.7C1A30ABE97392CD804EDAC5110E2DFD(zh-cn,TechNet.10).png

8)再次檢查安裝規則是否能正常執行經過。

JJ161766.429CAAB2F4F3D8F97EBAF1651AAAEA7E(zh-cn,TechNet.10).png

9)選擇並指定實例名,在此使用默認實例來進行示範,而且指定「實例根目錄」。

JJ161766.C20FEB7BBA2EFEC6DC4941A004752107(zh-cn,TechNet.10).png

10)檢查磁盤空間要求是否達到SQL Server 2012的安裝需求,點擊「下一步」。

JJ161766.890FD13424DA2D1E2FA9CBCB8E1EE8E4(zh-cn,TechNet.10).png

11)指定「服務帳戶」和「排序規則」,在此選擇默認設置。若是須要在完成安裝後進行自定義配置,點擊「下一步」。

JJ161766.BE44B53A8E70C291E99DF312FD4F2334(zh-cn,TechNet.10).png

12)在「數據庫引擎配置」頁面中,指定服務器配置身份驗證爲默認的「Windows身份驗證模式」,「添加當前用戶」爲SQL Server的管理員,如有須要可進行響應的自定義配置。此外還可在「數據目錄」選項卡中指定相應該實例默認的數據庫文件存儲路徑。點擊「下一步」。

JJ161766.6C3F6ACB8D8850285196BCD308A43908(zh-cn,TechNet.10).png

13)在「Analysis Services配置」頁面進行和「數據庫引擎配置」頁面中相似的配置。點擊「下一步」。

JJ161766.03FEF39D189C650C23542FA41328DA7D(zh-cn,TechNet.10).png

14)在「Reporting Services配置」頁面中,選擇默認設置,點擊「下一步」。

JJ161766.B881532DF2B5AEAAB240B88FCEF8FFDD(zh-cn,TechNet.10).png

15)「添加當前用戶」爲「分佈式重播控制器」的管理員。點擊「下一步」。

JJ161766.D5E8011ABA6FA401499449149519E0A4(zh-cn,TechNet.10).png

16)爲「分佈式重播客戶端」指定相應控制器和數據庫目錄。在此,採用默認配置,控制器名稱可不填寫。點擊「下一步」。

JJ161766.A55CBCC3EEE54CFFBB23FF7D3D51707B(zh-cn,TechNet.10).png

JJ161766.note(zh-cn,TechNet.10).gifNote:
注意:以上第13-16步根據第7步中所選功能不一樣,配置狀況有所差別。

 

17)是否發送錯誤報告頁面中可選擇是否將錯誤報告發送給微軟。

JJ161766.E1FB9E01250F3EF026CA824A8A53E5A3(zh-cn,TechNet.10).png

18)在進行安裝前,執行最後一次「安裝配置規則」檢查,確認是否符合安裝需求。

JJ161766.752B80DA8A176323E8FB2FB08AAC8916(zh-cn,TechNet.10).png

19)在「準備安裝」頁面中,確認以前進行的各類參數配置是否正確,若是無誤,點擊「安裝」,啓動安裝進程。

JJ161766.39D78B812E3C69175BF89ED265EA26FB(zh-cn,TechNet.10).png

20)安裝完成後,獲得成功完成的頁面。若是在該頁面中顯示全部功能均爲綠色對勾,那麼證實SQL Server 2012安裝無誤。

JJ161766.7B3BEA63D068DD379FE60F4FF7C9B7B8(zh-cn,TechNet.10).png

21)可能在某些環境中安裝,會收到以下提示,只需重啓服務器操做系統便可。

JJ161766.1DE681F137EF653B82F4FC17D068AA67(zh-cn,TechNet.10).png

二、爲高可用性組配置SQL Server 2012數據庫引擎服務。

1)在「開始」菜單中點擊「全部程序」-「Microsoft SQL Server 2012」-「配置工具」,打開「SQL Server配置管理器」。

JJ161766.F72E32D3827234BF319955E0C09C5772(zh-cn,TechNet.10).png

2)在控制檯中點擊「SQL Server服務」節點,在右邊窗口中右擊「SQL Server (MSSQLSERVER)」,在上下文菜單中選擇「屬性」。

JJ161766.0243676920114FD78399A8BB7CE0D22C(zh-cn,TechNet.10).png

3)在彈出窗口中選擇「AlwaysOn 高可用性」選項卡中勾選「啓用AlwaysOn 可用性組」。點擊「確認」。

JJ161766.C9785D859A26C0ED776C1ADBDDBAE924(zh-cn,TechNet.10).png

4)在彈出警告對話框中提示該修改須要重啓SQL Server數據庫引擎服務才能生效,點擊「肯定」。

JJ161766.6DE63F8FBCA2749EAA8C3E990E1854C5(zh-cn,TechNet.10).png

5)再次右擊「SQL Server (MSSQLSERVER)」,在上下文菜單中選擇「從新啓動」,對數據庫引擎執行重啓操做。

JJ161766.7C01D1B1C437BAF2718A1D4FFEC198F0(zh-cn,TechNet.10).png

6)爲了不在實現AlwaysOn Group時帶來複雜的權限設置,建議將相關的SQL服務(如:SQL Server數據庫引擎服務)啓動登陸身份由默認的「內置帳戶」改成指定的域帳戶。

JJ161766.9201E824288A6EC447268BDD92991823(zh-cn,TechNet.10).png

7)建議爲該域帳戶授予各節點SQL Server登陸權限,並將各節點服務器帳戶指派爲SQL Server登陸帳戶。

JJ161766.43E5BBD25F2D13C9C3970977473DF357(zh-cn,TechNet.10).png

以上步驟在SQL01/02上均進行相同的操做便可。操作系統

4、建立配置高可用性組

高可用性組的建立操做能夠有三種方式:嚮導方式、對話框方式和腳本方式,在此以嚮導方式SQL03上建立的DB01做爲主數據庫爲例進行介紹。

一、爲高可用性組建立配置數據庫

要使用嚮導建立高可用性組,必需要有符合條件的數據庫存在,才能進行相關的操做。那麼數據庫要符合怎樣的條件才能知足條件呢?

1)主數據庫的恢復模式必須是「完整」恢復模式。

JJ161766.3C623EFF91329D7EF9CB6443DFE765C2(zh-cn,TechNet.10).png

2)主數據庫已進行了一次完整備份。

JJ161766.87476A18416E57CC24313B92A9660292(zh-cn,TechNet.10).png

3)須要一個共享路徑提供給備份包存儲,並容許全部節點服務器(SQL Server數據庫引擎服務登陸帳戶)可以經過UNC路勁進行可讀寫訪問。

JJ161766.6A8B729CBE32D75712AD54D2B3F715DD(zh-cn,TechNet.10).png

二、利用嚮導新建高可用性組

1)在「開始」菜單中點擊「全部程序」-「Microsoft SQL Server 2012」-「配置工具」,打開「SQL Server Management Studio」。

JJ161766.2BDF6D0046499F3773ED8F0C72C47709(zh-cn,TechNet.10).png

2)展開「AlwaysOn高可用性」節點,右擊「可用性組」,在上下文菜單中,選擇「新建可用性組嚮導」。

JJ161766.A9D4CC48A69616B1A3913486335C8826(zh-cn,TechNet.10).png

3)在「簡介」頁面點擊「下一步」。

JJ161766.6DEB85D192609530407255DF87FFFB8A(zh-cn,TechNet.10).png

4)爲將要建立的高可用性組指定名稱。

JJ161766.C0F48DAAC4F505658AEFBC5E441A1314(zh-cn,TechNet.10).png

5)選擇知足加入高可用性組條件的數據庫,點擊「下一步」。

JJ161766.44B21CB9056F279B3DAD99F0D36F4D28(zh-cn,TechNet.10).png

6)爲高可用性組添加其它SQL Server服務器節點爲副本。點擊「添加副本」按鈕,一次添加所需SQL Server服務器,而且指定初始角色爲「主」或「輔助」。最多可選2個副本實現自動故障轉移,這兩個副本將同時使用同步提交可用性模式。最多可支持3個副本進行同步提交可用性模式,若使用異步提交必須強制手動故障轉移。對於可讀輔助副本設置來說,可選擇其爲是否可讀或僅讀意向,須要注意只有主數據庫副本纔可寫。

JJ161766.5B5BB24E9616975CFE06DED6771CD9F6(zh-cn,TechNet.10).png

7)點擊「端點」選項卡,能夠設置高可用性組的端點URL。使用默認設置便可。

JJ161766.7AAAB5BEE1E66B1BB2A553DEEFD69B01(zh-cn,TechNet.10).png

8)在「備份首選項」中,指定做爲備份副本的節點。默認是在「首選輔助副本」中進行備份。能夠經過副本備份優先級來指定首選。默認全部節點均爲50。

JJ161766.51929CF76B929C68F1747519CDCC2018(zh-cn,TechNet.10).png

9)爲高可用性組建立偵聽器,指定其DNS名稱的Host Name和端口,建議IP地址使用靜態IP,而且添加新的羣集IP做爲高可用性組使用,如此能夠指定SQL Server的默認端口1443,以便簡化客戶端訪問的配置。

JJ161766.A637A9BF96FE3A5D3421CDB5FA2F815D(zh-cn,TechNet.10).png

10)初始化數據同步首選項,建議選擇「完整」,並指定以前建立的UNC共享路徑。點擊「下一步」

JJ161766.38201B0E881C2A74D0B49B4C3CB34BE7(zh-cn,TechNet.10).png

11)驗證是否知足高可用性組建立需求,若是結果全爲綠色對勾,點擊「下一步」。

JJ161766.72D05141088CA40CBF7FA8720D245187(zh-cn,TechNet.10).png

12)檢查並確認以前的配置信息,若無誤,點擊「完成」。另外,此處也可保存建組腳本,以便分步診斷故障之用。

JJ161766.7E6DD4463BFCE3A4F53C5E59BD822D12(zh-cn,TechNet.10).png

13)等待嚮導完成建立SQL Server 2012高可用性組。

JJ161766.44D31F31B385FB9AA49AC8ECBAAD8C50(zh-cn,TechNet.10).png

14)知道最終完成,全部摘要均成功完成,顯示綠色對勾。若是出現黃色警告,則需進行進一步判斷是否成功。若出現紅色錯誤,表示建立AG不成功。

JJ161766.53DB9082D124154A0333507B599B2C7E(zh-cn,TechNet.10).png

在此,出現了黃色告警,點擊「警告」,在彈出對話框中顯示以下:

JJ161766.FB9C0287D3EDF77DC0A850CC7A008804(zh-cn,TechNet.10).png

能夠代表高可用性組成功建立,但WSFC的「多數節點」仲裁模式不是被推薦的。

15)返回SSMS窗口,在「可用性組」節點下顯示「AG01」的面板,能夠觀察該高可用性組的狀態。

JJ161766.AB5D8EDA3B803B42CC0066FF1CE09383(zh-cn,TechNet.10).png

三、高可用性組的基本管理

建立完成高可用性組後,可用經過SSMS對高可用性組進行基本的管理。

1)直接右擊須要管理的高可用性組,在上下文菜單中能夠選擇爲其「添加新數據庫」、「添加副本」、「添加偵聽器」及手動執行「故障轉移」等操做。點擊「屬性」,也能夠編輯該AG的各類屬性值。

JJ161766.66C81B619FF62470C8B4040540FD7BF0(zh-cn,TechNet.10).png

2)在高可用性組的屬性「常規」選項卡中,能夠爲其添加/刪除數據庫、副本節點,並配置各可用性副本節點的參數設定值。

JJ161766.5DD64B89EB1587CC477B462C0EA68DEF(zh-cn,TechNet.10).png

3)在「備份首選項」選項卡中,能夠修改相應副本節點的備份優先級和備份執行的位置。

JJ161766.2065516C9ADBFA6431AE8754E400AC12(zh-cn,TechNet.10).png

4)針對高可用性組中具體的副本節點配置,能夠展開該組中「可用性副本」,右擊須要配置的副本節點,在上下文菜單中點擊「屬性」。

JJ161766.2B0F8A3B2D028E29971132F934ABFEBC(zh-cn,TechNet.10).png

5)在其「常規」選項卡中能夠修改配置當前副本節點「可用性模式」、「故障轉移模式」以及「會話超時」時間等。

JJ161766.4527A080CCD6A0844AB582D6D34BAE9A(zh-cn,TechNet.10).png

6)能夠經過右擊「可用性組偵聽器」中的具體偵聽器,打開其「屬性」,對偵聽器進行相應配置。

JJ161766.2B0F8A3B2D028E29971132F934ABFEBC(zh-cn,TechNet.10).png

7)能夠修改偵聽器的偵聽端口,從而指定客戶端訪問AG中數據庫所須要鏈接的服務端口。

JJ161766.13695DD3504BFBEB82AC45285F554008(zh-cn,TechNet.10).png

至此,基於WSFC實現SQL Server 2012高可用性組的主要操做介紹完畢。總結關鍵步驟以下,首先配置WSFC,而後在各節點獨立安裝SQL Server 2012實例(非羣集實例),完成安裝後在SQL Server配置管理器中針對數據庫引擎服務啓用「高可用性組」功能,最後經過SQL Server系統管理器建立維護高可用性組。

相關文章
相關標籤/搜索