Google MSSQL LAB 找到 Hands-on Labs 這個連結,搜尋 always on有兩種作業系統可選
https://www.microsoft.com/handsonlabs/SelfPacedLabs
開啟後右邊可以選擇虛機,帳密顯示在旁邊
依照PDF教學架構如下
先連至Domain Controller,使用SSMS連WIN-AGNODE01
建立Abailability Group
照著精靈 =>選Windows Server Failover Cluster
選擇Databases加入Group
建立副本(replicas)
選Add將02,03加入
將Automatic Failover勾選, Availability Mode選Synchronous commit, Readable Secondary選Yes
Backup Preferences 副本的備份優先
下一步選自動
檢查,listener configuration功能之前沒勾選,這個教學再後面建完再來做
建好後,右鍵選show Dashboard
服務狀態
建立之前沒做的listener,點選Add Listener
依步驟建立1433偵測
完成後在Availability Group Listeners看到剛建立的監控
DNS增加前面步驟的IP
來開始測試
開visual studio code 選open folder 到C:\HOL Files\AlwaysonAg\MyExpense.Web
CTRL+SHIFT+P
Tasks: Run Task
編譯好後到Server>Server.config.js改一下DB的DNS
按F5執行,網頁開8000 port
有數字表示從DB撈取資料成功
右鍵Connect到win-agnode03(確保進到03,可以Disconnect01)點New Query,輸入指令
指令意思:將MyExpenseAG可用性組故障轉移到已連接的輔助節點
ALTER AVAILABILITY GROUP MyExpenseAG FAILOVER;
GO
03轉成Primary,回去刷新網頁確定可行
最後PDF教學手冊沒寫,不過當然還是要測試一下斷網~
把01跟03的網路關掉,02轉成primary,網頁可以正常查詢
再把02也關掉,做到這邊剛好到2個小時的Lab時間,被斷掉了...
必要條件、限制和建議 - AlwaysOn 可用性群組
https://docs.microsoft.com/zh-tw/sql/database-engine/availability-groups/windows/prereqs-restrictions-recommendations-always-on-availability?view=sql-server-2017
可用性模式 (AlwaysOn 可用性群組)
https://docs.microsoft.com/zh-tw/sql/database-engine/availability-groups/windows/availability-modes-always-on-availability-groups?view=sql-server-2017
容錯移轉及容錯移轉模式 (AlwaysOn 可用性群組)
https://docs.microsoft.com/zh-tw/sql/database-engine/availability-groups/windows/failover-and-failover-modes-always-on-availability-groups?view=sql-server-2017
執行可用性群組的強制手動容錯移轉 (SQL Server)
https://docs.microsoft.com/zh-tw/sql/database-engine/availability-groups/windows/perform-a-forced-manual-failover-of-an-availability-group-sql-server?view=sql-server-2017
从0开始搭建SQL Server AlwaysOn
http://www.cnblogs.com/lyhabc/p/4678330.html
基於SQL Server AlwaysOn跨機房切換項目
https://kknews.cc/zh-tw/tech/jv442ne.html