[SQL]SQL Server AlwaysON 管理筆記

透過 AlwaysON 的 Wizard 加入新的資料庫,也可以透過儀表版來查看 AG 狀態和移轉

有朋友之前想知道當 AlwaysON 的時候,在管理上遇到一點小問題,因此把一些給他的資料整理一下,提供給大家參考。因為要架設環境太費時間,因此就直接在 Azure 上面申請一組 AlwaysON 的測試環境來使用,免得還要安裝這一整套下來,就要花上不少的時間了。

 

當我們在 Azure 上申請下來的時候,基本上 AlwaysON 上所有相關設定都已經設定好了,因此也不用去煩惱到底有沒有遺漏哪些步驟或者是設定,甚至也幫你設定好一組基本的 AG 可以使用。

 

在以往我們在使用 Cluster 的時候,因為他是 Instance 層級的,所以如果要新增資料庫的時候,基本上就會自動成為 HA 的一部份。可是當使用 AlwaysON 之後,那就是資料庫層級了,所以如果當我們有新的資料庫,假設是 DEMO1 , DEMO2 和 DEMO3,基本上你可以新增一個新的 AG ( Availability Group ),或者是在既有的 AG 上新增資料庫,來讓新的資料庫可以 HA。我個人不建議把有所有資料庫都放在一個固定的 AG ,因為這要會讓 Loading 都集中在某一台上。

這裡只是用這個環境,來介紹如何在既有的 AG 中加入新的資料庫。一開始我們先登入 SSMS 之後,選擇我們要加入進去的 AG,在上面按下滑鼠右鍵選擇「Add Databases...

 

接下來就可以透過 Wizard 的方式來加入

接下來我們就可以選擇我們要的資料庫,要注意因為會透過交易紀錄檔傳送,所以資料庫復原模式要設定為「完整 ( Full )」,如果不是設定為 Full 的話,則不能將該資料庫納入 AG。

在這裡可以偷懶一下,全部讓他幫你自己去複製資料庫的話,那麼這裡我們可以用 BACKUP TO NUL 的方式,先騙過 SQL Server ,讓他以為這些資料庫都已先有先做了完整備份。

此時 Refresh 之後,就發現這些資料庫可以選擇了

這樣我們就可以把這些資料庫給勾選起來,繼續往後的處理。

接下來我們要選擇要怎麼把資料庫傳到其他的主機上,這裡我想偷懶一點,因此就選擇 Full 的方式,這樣我們只要選擇一個所有環境都可以存取的目錄,這樣透過精靈將資料庫備份放到這個目錄之後,再讓其他主機來這裡讀取檔案進行還原。因此我在 Primary 主機上建立一個目錄,並且將該目錄給分享出來。

接著按照你的 AG 裡面所指定的 Secondary Replica,已預設環境只有一台,因此我們透過 Connect 的按鈕,選擇連接到 Secondary 的主機

接下來 Wizard 會檢查相關設定是否有問題,如果這裡有相關錯誤訊息,那麼就先按照相關說明去調整,如果沒有,那我們就完成相關設定了。

完成相關設定後,那麼 Wizard 就會按照你所選擇的資料庫,幫你備份還原到其他 Secondary 上,並且完成相關設定,整個過程非常的方便。

此時回到 SSMS 之後,就可以看到 AG 內已經有我們剛剛所將入的資料庫了。


當我們資料庫已經部屬完畢,微軟在 SSMS 上非常的貼心,可以直接在 AG 的節點上選擇 「Show Dashboard」,透過 AlwaysON 的儀表版我們可以很容易地來做管理

 

選擇我們所要管理的 AG ,按下該連結

這樣我們就可以很容易知道目前 AG 的運作狀況。

假設這個時候我們要將 AG Primary 的角色移到不同的主機上的時候,也可以在這個儀表版上面,選擇右上角選擇「Start Failover Wizard」,透過 Wizard 的方式來做移轉。

 

這樣我們可以不用記太多的指令就可以透過精靈來完成

選擇一個 Secondary 成為我們要移轉為 Primary 的主角

透過 Connect 的按鈕去連接該 Secondary 主機

整個過程非常的快速和便利,這樣就完成 Primary 的移轉