[SQL Server] Config SQL Server 2017 availability group on Windows

SQL Server 2017設定AG和SQL 2014/2016大同小異,差異部分就是Linux 平台專屬

我們當時討論後決定,SQL Server 2017還是安裝在Windows平台,我們考量幾個因素如下

1.Windows和SQL Server是兄弟,我們認為整體上還是會優於Linux(如高可用性技術、效能、設定調整..等),好比Oracle有自己的Linux (Oracle Linux)。

2.Windows錯誤經驗遠大於Linux,當發生無法存取SQL Server問題時,

network、storage、OS、SQL Server、VM host和Application..等都有可能是兇手,我們不希望OS這一層經驗歸零,因為誰也無法保證在Linux就不會有Error。

3.資料是企業的命脈,遷移大型資料庫是項大工程,幾乎會面臨downtime而影響公司營運,我們不希望遇到"早知道就安裝在Windows"的窘境。

note: Linux平台,我們可能會觀望真實世界所累積的issue足夠後~~~XD

 

架構規劃上,基本上和我以前使用SQL2016相同

開始設定Availability Group

Install stand-along sql server 2017 on each windwos server first

 

Enable AlwaysOn

input AG name

Cluster type共有三種

Windows Server Failover Cluster

For Windows,就不多作介紹。

EXTERNAL

For Linux operating systems via integration with Pacemaker(a Linux cluster resource manager)

如果你安裝在Linux,那麼你可以選擇該類型。

NONE

不使用任何Cluster技術,可同時支援windows和Linux,但無法automate failover(不提供High availability)。

 

其他安裝可以參考[SQL SERVER]SQL2016-啟用和設定Alwayson AG,我只列出差異部分

 

Read-only routhing 設定已經有GUI

show dashboard

另外,我測試Load Balancing for Read-Only還是和以前SQL2016一樣,

需要移除connection pool才有效果,

這部分看來要額外使用其他方案才能達到真正Load Balancing

 

 

參考

[SQL SERVER]SQL2016-啟用和設定Alwayson AG

[SQL SERVER]SQL2016-設定Alwayson AG Load Balance

Installing SQL Server vNext CTP1 on Red Hat Linux 7.2

Install and Configure SQL Server 2017 Availability Groups on Linux - Part 1

Install and Configure SQL Server 2017 Availability Groups on Linux - Part 2

Install and Configure SQL Server 2017 Availability Groups on Linux - Part 3