Quick Setup a SQL Server 2012 AlwaysOn Availability Groups

Quick Setup a SQL 2012 AlwaysOn Availability Groups

以下範例所有Instance的SQL Server啟動帳戶都同一個網域帳戶(domain user account),如果您的SQL啟動帳戶是本機帳戶或虛擬帳戶Virtual Account(本機受管理的服務帳戶Managed Local Accounts),請參考這篇 Setup SQL Server 2012 AlwaysOn Availability Groups using Certificate 使用憑證來設定AlwaysOn

AD Domain User Account

Domain Name:lab21.local

NETBIOS Domain Name:LAB21

Domain User Account: SQLServer

第一個節點的SQL Server Instance的SQL Server啟動帳戶已設定為LAB21\SQLServer

第二個節點的SQL Server Instance的SQL Server啟動帳戶也設定為LAB21\SQLServer

[開始設定SQL Server 2012 AlwaysOn Availability Groups]

1.Create a Windows Cluster

  可以參考這篇 Build a two-node SQL Server 2008 R2 Cluster with iSCSI 的Step1到Step8,建立一個名為clust1的Windows Cluster

  PS.如果您有3個節點Node,就不需要shared disk,也就可以跳過設定iSCSI的步驟,直接跳到Step7,參考連結就可以建立一個3個節點Node的failover cluster

  PS.如果您只有2節點Node,並且沒有shared disk(iSCSI Disk or Fibre Disk),您可以在一台file server or DC(only for Lab TEST)上建立一個shared folder來做為Queue。

 

2.Enable AlwaysOn Availability Groups feature on every instance of SQL Server 2012

 啟用SQL Server 2012 AlwaysOn Availability Groups feature

 使用SQL Server Configuration Manager(SQL Server組態管理員),在左邊點選SQL Server服務,然後在右邊的SQL Server (MSSQLSERVER)按右鍵,選擇內容,在[AlwaysOn 高可用性]頁籤勾選[啟用AlwaysOn 可用性群組]

 

 重新啟動服務

 

3.Create database mirroring endpoint (if none).

  如果使用Domain Account當作SQL Server啟動帳戶則可以省略這個步驟,因為在New Availability Group Wizard時會自動建立endpoint

4.Full recovery model

 

5.Full Backup is Required

  最少要做過一次完整備份

6.New Availability Group Wizard

 (1)啟動[新增可用性群組精靈]

 

 (2)輸入一個Availability Group名稱

 

 (3)如果沒有做過一次完整備份(Full Backup)則會無法選取資料庫

 

 (4)符合條件(Full Recovery Mode and Full Backup)則才能勾選

 

 (5)加入第二個Instance

 

 (6)勾選容錯移轉的模式,同步的模式與是否為可讀取次要

 

 (7)檢視一下端點的設定(若未建立則會自動建立)

 

 (8)檢視一下備份喜好設定(保留預設值即可)

 

 (9)檢視接聽器設定,預設是不建立

 

 (10)選擇初始資料同步處理方式

  A.預設選擇[完整](Full),必須指定一個網路分享目錄,SQL Server啟動帳戶要對此目錄有寫入與讀取的權限,初始資料時,會精靈自動對主要MyDB資料庫執行備份(a Full Backup and a Log Backup)並還原到第二個Instance。

  B.選擇[僅聯結](Join Only),在Join Only之前,必須事先將MyDB資料庫做備份(a Full Backup and a Log Backup)並指定NO RECOVERY還原到第二個Instance。請參考這篇 Setup SQL Server 2012 AlwaysOn Availability Groups using Join Only

  C.選擇[略過初始資料同步處理](Skip initial data synchronization),則精靈會先建立好AG與加入第二個Instance,但是不會立即啟動同步,你必須在精靈完成後,再找時間將主要的MyDB資料庫做備份(a Full Backup and a Log Bakcup)並指定NO RECOVERY還原到另一個Instance,然後再到第二個Instance加入此資料庫。 請參考這篇Setup SQL Server 2012 AlwaysOn Availability Groups using Skip initial data synchronization

 PS.不論哪一種方式都不影響使用者存取或異動資料,設定過程中有資料異動也沒有影響。

 

 (11)選擇[完整](FULL)的驗證過程

 

 (12)開始建立並完成

 

 容錯移轉叢集管理員則會出現一個相同名稱的服務

 

7.新增可用性群組接聽程式

 

 輸入接聽器DNS名稱與通訊埠,網路模式選擇靜態IP,按下[加入]按鈕,選擇子網路並輸入一個IP Address給這個接聽器,這個名稱與IP就是前端程式所要連線SQL用的主機名稱或IP Address。

 

 新增成功則會出現在可用性群組接聽程式下面

 

8.容錯移轉叢集管理員則會在AG1服務裡面出現一個AODB1的network name與相依的IP Address

 

9.AD上也會出現一個AODB1的電腦名稱

 

[Reference]

Use the New Availability Group Wizard (SQL Server Management Studio)

https://msdn.microsoft.com/en-us/library/hh403415.aspx

Prerequisites, Restrictions, and Recommendations for AlwaysOn Availability Groups (SQL Server)

https://msdn.microsoft.com/en-us/library/ff878487.aspx