在Azure VM中設定SQL Server Always On

每台 VM 上的 SQL Server 服務都必須使用專用網路域帳戶。 使用您稍早建立的網域帳戶:適用於 SQL-VM-1SQL-VM-2Corp\SQLSvc

若要設定服務帳戶,請遵循下列步驟:

  1. 使用 <MachineName>\DomainAdmin 帳戶 (例如 SQL-VM-1\DomainAdmin) 透過遠端桌面通訊協定 (RDP) 連線至第一部 QL Server VM。
  2. 開啟 [SQL Server 組態管理員] 。
  3. 以滑鼠右鍵按一下 SQL Server 服務,然後選取 [屬性]。
  4. 提供帳戶 (Corp\SQLSvc) 和密碼。
  5. 選取 [套用] 以認可您的變更,然後重新啟動 SQL Server 服務。
  6. 在其他 SQL Server VM (SQL-VM-1) 上重複這些步驟、使用機器網域帳戶登入 (例如 SQL-VM-2\DomainAdmin),並提供服務帳戶 (Corp\SQLSvc)。

建立 Azure 儲存體帳戶

[效能],請選取 [標準] (一般用途 v2 帳戶),[備援],請選取 [本地備援儲存體 (LRS)],建立在和VM同一個區域.要記錄下儲存體名稱和金鑰備用,最後設定雲端驗證使用.

防火牆設定TCP連線允許1433和5022

新增容錯移轉叢集功能

將容錯移轉叢集功能新增至兩個 SQL Server VM。

使用有權在 AD 中建立物件的網域帳戶 (比如 CORP\Install 或者是domain admin網域帳戶),透過遠端桌面通訊協定 (RDP) 連線至 SQL Server 虛擬機器。

開啟 [伺服器管理員儀表板] 。

選取儀表板上的 [新增角色與功能] 連結。

連續選取 [下一步],直到到達 [伺服器功能] 區段。

在 [功能] 中,選取 [容錯移轉叢集]。

新增任何其他必要的功能。

選取 [安裝] 以新增功能。

在另一個 SQL Server VM 上重複上述步驟。

建立叢集

將叢集功能新增至每部 SQL Server VM 之後,您就可以開始建立 Windows Server 容錯移轉叢集。

若要建立叢集,請遵循以下步驟:

利用有權在 AD 中建立物件的網域帳戶 (比如 CORP\Install 或者是domain admin網域帳戶),使用遠端桌面通訊協定 (RDP) 連線至第一部 SQL Server 虛擬機器 (如 SQL-VM-1)。

在 [伺服器管理員] 儀表板中,選取 [工具],然後選取 [容錯移轉叢集管理員]。

在左側窗格中,於 [容錯移轉叢集管理員] 上按一下滑鼠右鍵,然後選取 [建立叢集]。

在 [輸入伺服器名稱] 中,輸入第一部 SQL Server 名稱 (像是 SQL-VM-1),然後選取 [新增]。
在 [輸入伺服器名稱] 中,輸入第二部 SQL Server 名稱 (像是 SQL-VM-2),然後選取 [新增]。

選取 [是。當我按一下 [下一步] 時,執行設定驗證測試,然後返回建立叢集的流程]。

選擇 [僅執行我選取的測試]。

取消選取儲存體。 確定已選取 [詳細目錄]、[網路] 和 [系統設定]。

選取 [下一步]。
等待驗證完成。
選取 [檢視報表] 以檢閱報表內容。 您可以放心忽略只能透過一個網路介面連線到 VM 的警告。 Azure 基礎結構具備實體的備援設施,因此不需要新增額外的網路介面。
選取 [完成]。

在 [叢集名稱] 中輸入叢集名稱,例如 SQLAGCluster1。

取消選取 [新增適合的儲存裝置到叢集],然後選取 [下一步]。

第二台vm,只需要安裝這個容錯移轉叢集管理員就可以,不需要設定叢集.

設定仲裁

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

Set-ClusterQuorum -CloudWitness -AccountName "Storage_Account_Name" -AccessKey "Storage_Account_Access_Key"

啟用 AG 功能

依據預設,會停用 Always On 可用性群組功能。 使用 SQL Server 組態管理員即可在這兩個 SQL Server 執行個體上啟用此功能。

若要啟用可用性群組功能,請遵循以下步驟:

使用屬於系統管理員固定伺服器角色成員的網域帳戶 (例如 CORP\Install 網域帳戶),啟動第一部 SQL Server VM (例如 SQL-VM-1) 的 RDP 檔案

從其中一個 SQL Server VM 的 [開始] 畫面中啟動 SQL Server 組態管理員。

在瀏覽器樹狀目錄中,反白選取 [SQL Server 服務],以滑鼠右鍵按一下 [SQL Server (MSSQLSERVER)] 服務,再選取 [內容]。

選取 [Always On 高可用性] 索引標籤,然後勾選 [啟用 Always On 可用性群組] 方塊:

套用後,SQL 的服務重啓一下,否則狀態無法更新.

第二台sql vm同樣設定,然後服務也要重啓一下.

還原數據庫,要完整版,匯入後要先完整備份一下

[復原模式] 下拉式清單中的 [完整] (當預設值不是 [完整] 時)。 資料庫必須處於完整復原模式,才符合參與可用性群組的必要條件。

若要備份資料庫,請遵循下列步驟:

在物件總管中,以滑鼠右鍵按一下資料庫,反白選取 [工作],然後選取 [備份...]。

選取 [確定],以指定要將資料庫完整備份到預設的備份位置中。

建立檔案共用

建立 SQL Server VM 及其服務帳戶都可以存取的備份檔案共用。

建立資料庫備份共用資料夾的路徑,例如 C:\Backup。

在 [共用資料夾權限] 上,設定 [自訂權限]。 選取自訂。

在 [自訂權限] 上,選取 [新增]。

選取 [完全控制],以將共用的完整存取權授與 SQL Server 服務帳戶 (Corp\SQLSvc):

建立可用性群組

備份資料庫之後,就可以開始建立可用性群組,該群組會自動從主要 SQL Server 複本建立完整備份和交易記錄備份,並會使用 NORECOVERY 選項在次要 SQL Server 執行個體中還原。

在 [簡介] 頁面上,選取 [下一步] 。 在 [指定可用性群組名稱] 頁面的 [可用性群組名稱] 中,輸入可用性群組的名稱,例如 AG1。 選取 [下一步] 。

在 [選取資料庫] 頁面中,選取您的資料庫,然後選取 [下一步]。 如果您的資料庫不符合必要條件,請確定其處於完整復原模式,然後建立備份:

在 [指定複本] 頁面中,選取 [新增複本]。

隨即跳出 [連接至伺服器] 對話方塊。 在 [伺服器名稱] 中輸入第二部伺服器的名稱,例如 SQL-VM-2。 選取 [連接]。

在 [指定複本] 頁面中,選取 [自動容錯移轉] 核取方塊,然後在下拉式清單中選擇可用性模式 [同步認可]:

選取 [接聽程式] 索引標籤,然後選擇 [建立可用性群組接聽程式] 並在接聽程式使用前面建立的次要IP

接聽程式 DNS 名稱:
AG1-Listener

連接埠  1433

在 [選取初始資料同步] 頁面中,選擇 [完整資料庫和記錄備份],並提供您先前建立的網路共用位置,例如 \\SQL-VM-1\Backup

在 [驗證] 頁面上,確認已通過所有的驗證檢查,然後選擇 [下一步]:

安裝完連線到2個SQL 的樣子