Share via


Azure 中的 SharePoint 內部網路伺服器陣列階段 5:建立可用性群組和新增 SharePoint 資料庫

 

**適用版本:**SharePoint Server 2016

**上次修改主題的時間:**2017-05-30

**摘要:**在 Microsoft Azure 中為高可用性 SharePoint Server 2016 伺服器陣列設定 SQL Server 可用性群組。

在 Azure 基礎結構服務中部署僅限內部網路之 SharePoint Server 2016 伺服器陣列的這個最後階段中,您會使用 SharePoint 伺服器陣列的資料建立新的 SQL Server AlwaysOn 可用性群組,建立可用性群組接聽程式,然後完成 SharePoint 伺服器陣列設定。

請參閱使用 SQL Server AlwaysOn 可用性群組在 Azure 中部署 SharePoint Server 2016 以了解所有階段。

設定可用性群組

SharePoint 會在初始設定時建立兩個資料庫。必須進行下列步驟來備妥這些資料庫:

  1. 資料庫復原模式必須設定為 FULL。

  2. 在主要電腦上進行資料庫的完整備份和交易記錄檔備份。在備份電腦上還原完整和記錄檔備份。

備份並還原資料庫後,即可將它們新增至可用性群組。SQL Server 只允許群組中存在已備份 (至少一次) 並在另一部電腦上還原的資料庫。

執行下列步驟,讓備份檔案 (.bak) 能從次要 SQL Server 虛擬機器進行存取:

  1. 使用 <您的網域>\sp_farm_db 帳戶認證,連接到主要 SQL Server 虛擬機器。

  2. 開啟 [檔案總管] 並巡覽至 H: 磁碟。

  3. 以滑鼠右鍵按一下 [備份] 資料夾,按一下 [共用對象],然後按一下 [特定人員]。

  4. 在 [檔案共用] 對話方塊中,輸入 <您的網域名稱>\sqlservice,然後按一下 [新增]。

  5. 按一下 sqlservice 帳戶名稱的 [權限層級] 資料行,然後按一下 [讀取/寫入]。

  6. 按一下 [共用],然後按一下 [完成]。

在次要 SQL Server 主機上執行前一個程序,除了步驟 5 中授與 sqlservice 帳戶對 H:\Backup 資料夾的 [讀取] 權限以外。

針對您要新增至可用性群組的每個資料庫執行下列步驟:

  1. 從主要 SQL Server 虛擬機器中,按一下 [開始],輸入 SQL Studio,然後按一下 [SQL Server Management Studio]。

  2. 按一下 [連接]。

  3. 在左窗格中展開 [資料庫] 節點。

  4. 在資料庫上按一下滑鼠右鍵並選取 [屬性]。

  5. 從左導覽中選取 [選項] 項目。

  6. 確保 [復原模式] 設定為 [完整]。如果不是,將它變更為支援 AlwaysOn 功能。

必須對要需要新增至可用性群組的每個資料庫重複執行下列程序。有些 SharePoint Server 2016 資料庫不支援 SQL Server AlwaysOn 可用性群組。如需詳細資訊,請參閱 SharePoint 資料庫支援的高可用性和災害復原選項

備份資料庫

  1. 連接到第一部 SQL Server 虛擬機器。

  2. 按一下 [開始],輸入 SQL Studio,然後按一下 [SQL Server Management Studio]。

  3. 按一下 [連接]。

  4. 在左窗格中展開 [資料庫] 節點。

  5. 以滑鼠右鍵按一下要備份的資料庫,指向 [工作],然後按一下 [備份]。

  6. 在 [目的地] 區段中,按一下 [移除] 來移除備份檔案的預設檔案路徑。

  7. 按一下 [新增]。在 [檔案名稱] 中,輸入 \\<machineName>\backup<databaseName>.bak,其中 machineName 是主要 SQL Server 電腦的名稱,而 databaseName 是資料庫的名稱。按一下 [確定],然後在備份成功相關訊息之後,再次按一下 [確定]。

  8. 在左窗格中,以滑鼠右鍵按一下 <databaseName>,指向 [工作],然後再按 [備份]。

  9. 在 [備份類型] 中,選取 [交易記錄檔],然後按兩次 [確定]。

讓第一部 SQL Server 虛擬機器的遠端桌面工作階段保持開啟。

還原資料庫

  1. 使用 <您的網域>\sp_farm_db 帳戶認證,連接到次要 SQL Server 虛擬機器。

  2. 從次要 SQL Server 虛擬機器中,按一下 [開始],輸入 SQL Studio,然後按一下 [SQL Server Management Studio]。

  3. 按一下 [連接]。

  4. 在左窗格中,以滑鼠右鍵按一下 [資料庫],然後按一下 [還原資料庫]。

  5. 在 [來源] 區段中,選取 [裝置],然後按一下省略符號 (...) 按鈕。

  6. 在 [選取備份裝置] 中,按一下 [新增]。

  7. 在 [備份檔案位置] 中,輸入 \<電腦名稱>\backup,按 Enter 鍵,選取 <databaseName>.bak,然後按兩次 [確定]。您現在應可在 [要還原的備份組] 區段中看到完整備份和記錄檔備份。

  8. 在 [選取頁面] 之下,按一下 [選項]。在 [還原選項] 區段的 [復原狀態] 中,選取 [使用 NORECOVERY 還原],然後按一下 [確定]。

  9. 出現提示時,按一下 [確定]。

備妥至少一個資料庫 (使用備份和還原方法) 之後,您可使用下列步驟建立可用性群組:

  1. 回到第一部 SQL Server 虛擬機器的遠端桌面工作階段。

  2. 在 [SQL Server Management Studio] 的左窗格中,以滑鼠右鍵按一下 [AlwaysOn 高可用性],然後按一下 [新增可用性群組精靈]。

  3. 在 [簡介] 頁面上,按 [下一步]。

  4. 在 [指定可用性群組名稱] 頁面上,在 [可用性群組名稱] 中輸入您的可用性群組名稱 (範例:AG1),然後按 [下一步]。

  5. 在 [選取資料庫] 頁面上,選取已備份 SharePoint 伺服器陣列的資料庫,然後按 [下一步]。這些資料庫符合可用性群組的必要條件,因為您在預定的主要複本上至少已取得一個完整備份。

  6. 在 [指定複本] 頁面上,按一下 [新增複本]。

  7. 在 [連線到伺服器] 中,輸入次要 SQL Server 虛擬機器的名稱,然後按一下 [連線]。

  8. 在 [指定複本] 頁面上,次要 SQL Server 虛擬機器會列在 [可用性複本] 中。針對這兩個執行個體,設定下列選項值:

    初始角色 選項

    主要

    自動容錯移轉 (最多 2 個)

    已選取

    次要

    自動容錯移轉 (最多 2 個)

    已選取

    主要

    同步認可 (最多 3 個)

    已選取

    次要

    同步認可 (最多 3 個)

    已選取

    主要

    可讀取次要

    次要

    可讀取次要

  9. 按 [下一步]。

  10. 在 [選取初始資料同步處理] 頁面上,按一下 [只加入],然後按 [下一步]。藉由在主要伺服器上進行完整和交易備份,並在備份上還原,以手動方式執行資料同步處理。您可改為選取 [完整],讓「新增可用性群組精靈」為您執行資料同步處理。不過,Microsoft 不建議對在某些企業中找到的大型資料庫進行 [完整自動同步處理]。

  11. 在 [驗證] 頁面上,按 [下一步]。沒有遺失接聽程式組態的警告,因為未設定可用性群組接聽程式。我們將在本文稍後的程序中手動執行此步驟。

  12. 在 [摘要] 頁面上,按一下 [完成]。精靈完成後,檢查 [結果] 頁面,確認已成功建立可用性群組。若是如此,請按一下 [關閉] 結束精靈。

  13. 按一下 [開始],輸入 [容錯移轉],然後按一下 [容錯移轉叢集管理員]。在左窗格中,開啟您的叢集名稱,然後按一下 [角色]。應該會出現具有您的可用性群組名稱的新角色。

設定可用性群組接聽程式

可用性群組接聽程式是 SQL Server 可用性群組所接聽的一個 IP 位址和 DNS 名稱。使用下列步驟建立 SQL Server 叢集的可用性群組接聽程式:

  1. 使用這些步驟判斷叢集網路資源名稱。

    • 按一下 [開始],輸入 [容錯移轉],然後按一下 [容錯移轉叢集管理員]。

    • 按一下 [網路] 節點,並記下叢集網路名稱。對於此程序步驟 6 的 PowerShell 命令區塊中的 $ClusterNetworkName 變數,您需用到這個名稱。

  2. 用戶端存取點是應用程式用來連接到可用性群組中資料庫的網路名稱。使用下列步驟,新增用戶端存取點。

    • 從 [容錯移轉叢集管理員] 展開叢集名稱,然後按一下 [角色]。

    • 在 [角色] 窗格中,以滑鼠右鍵按一下可用性群組名稱,然後選取 [新增資源] > [用戶端存取點]。

    • 在 [名稱] 中,指定這個新接聽程式的名稱。

      新接聽程式的名稱是應用程式用來連線到 SQL Server 可用性群組中資料庫的網路名稱。

    • 按兩次 [下一步],然後按一下 [完成]。此時不要讓接聽程式或資源上線。

  3. 設定可用性群組的 IP 資源 使用下列步驟:

    • 按一下 [資源] 索引標籤,然後展開您建立的用戶端存取點。用戶端存取點處於離線狀態。

    • 以滑鼠右鍵按一下 IP 源,然後按一下 [屬性]。記下 IP 位址的名稱。對於此程序步驟 6 的 PowerShell 命令區塊中的 $IPResourceName 變數,您需用到個名稱。

    • 在 [IP 位址] 之下,按一下 [靜態 IP 位址]。將 IP 位址設定為表格 I - 項目 4 的值。

  4. 使用下列步驟,讓 SQL Server 可用性群組資源相依於用戶端存取點:

    • 在 [容錯移轉叢集管理員] 中,按一下 [角色],然後按一下您的可用性群組。

    • 在 [資源] 索引標籤上,以滑鼠右鍵按一下 [伺服器名稱] 之下的可用性資源群組,然後按一下 [屬性]。

    • 在 [相依性] 索引標籤上,新增名稱資源。此資源是用戶端存取點。

    • 按一下 [確定]。

  5. 使用下列步驟,讓用戶端存取點資源相依於 IP 位址:

    • 在 [容錯移轉叢集管理員] 中,按一下 [角色],然後按一下您的可用性群組。

    • 在 [資源] 索引標籤上,以滑鼠右鍵按一下 [伺服器名稱] 之下的用戶端存取點資源,然後按一下 [屬性]。

    • 按一下 [相依性] 索引標籤。設定接聽程式資源名稱的相依性。如果列出多個資源,請確認 IP 位址具有 OR (而不是 AND) 相依性。按一下 [確定]。

    • 以滑鼠右鍵按一下接聽程式名稱,然後按一下 [上線]。

  6. 使用下列步驟設定叢集參數:

    • 使用 <網域名稱>\sp_farm_db 帳戶認證,連接到其中一部 SQL Server 虛擬機器。

    • 開啟系統管理員層級的 PowerShell 命令提示字元,指定變數值,然後執行這些命令:

    $ClusterNetworkName = "<MyClusterNetworkName>"
    $IPResourceName = "<IPResourceName>"
    $ILBIP = "<Table I - Item 4 - Value column>"
    [int]$ProbePort = <nnnnn>
    
    Import-Module FailoverClusters
    
    Get-ClusterResource $IPResourceName | Set-ClusterParameter -Multiple @{"Address"="$ILBIP";"ProbePort"=$ProbePort;"SubnetMask"="255.255.255.255";"Network"="$ClusterNetworkName";"EnableDhcp"=0}
    

    提示

    如需包含本文中所有 PowerShell 命令的文字檔,請參閱 Azure 部署套件中的 SharePoint Server 2016 高可用性伺服器陣列

使用下列步驟來設定接聽程式連接埠:

  1. 連接到第一部 SQL Server 虛擬機器、啟動 SQL Server Management Studio,然後連接到本機電腦。

  2. 瀏覽至 [AlwaysOn 高可用性] > [可用性群組] > [可用性群組接聽程式]。

    您現在應可看到您在「容錯移轉叢集管理員」中建立的接聽程式名稱。

  3. 在接聽程式名稱上按一下滑鼠右鍵,然後按一下 [屬性]。

  4. 在 [連接埠] 方塊中,使用先前所用的 $ProbePort 指定可用性群組接聽程式的連接埠號碼 (預設值為 1433),然後按一下 [確定]。

使用下列步驟來測試接聽程式的連線:

  1. 連線到第二部 SQL Server 虛擬機器,然後開啟系統管理員層級的命令提示字元。

  2. 使用 sqlcmd 工具來測試連線。例如,下列命令會透過採用 Windows 驗證的接聽程式,建立主要複本的 sqlcmd 連線:

    sqlmd -S <listenerName> -E
    

    如果接聽程式使用預設連接埠 (1433) 以外的連接埠,請在連接字串中指定連接埠。例如,下列 sqlcmd 命令會連線到位於連接埠 1435 的接聽程式:

    sqlcmd -S <listenerName>,1435 -E
    

    Sqlcmd 連線會自動連接到裝載主要複本的 SQL Server 執行個體。

透過下列步驟,可以使用健康狀態儀表板來檢查 AlwaysOn 可用性群組的操作是否成功:

  1. 在第一部 SQL Server 虛擬機器上,於 SQL Server Management Studio 的左窗格中,展開 [AlwaysOn 高可用性] > [可用性群組]。

  2. 在您的可用性群組上按一下滑鼠右鍵,然後按一下 [顯示儀表板]。

    儀表板狀態應會顯示全綠的 [同步處理狀態]。

完成 SharePoint 伺服器陣列設定

SharePoint 設定和管理內容資料庫現已新增至可用性群組並正確地進行同步處理,下一個步驟是確定在 SQL Server 節點失敗時可存取這些資料庫。若要執行這項操作,必須更新 SharePoint 伺服器陣列的 SQL Server 資料庫連接字串,以符合 SQL 叢集內部負載平衡器的 DNS 名稱。

注意

在內部部署 SQL Server AlwaysOn 部署中,可用性群組會使用接聽程式來向 SharePoint Server 呈現連接點。Azure IaaS 中有網路限制可防止這種情形,因此必須改為使用內部負載平衡器的 DNS 名稱。因為這種情況,無法使用可供管理可用性群組成員資格的 SharePoint PowerShell Cmdlet。您必須改為使用資料庫物件方法呼叫。

使用下列步驟來更新 SharePoint 資料庫連接字串:

  1. 連線到伺服器陣列中的其中一部 SharePoint 伺服器,並啟動系統管理員層級的 PowerShell 命令提示字元。

  2. 使用下列命令,檢查伺服器陣列中每個資料庫目前的連接字串設定:

    Add-psnappin Microsoft.SharePoint.PowerShell -EA 0
    Get-Spdatabase | select name, server
    

    顯示的 Get-Spdatabase 命令會顯示連接字串中的資料庫名稱和伺服器屬性值。

  3. 對可用性群組中有伺服器屬性符合叢集中 SQL 節點的每個資料庫,您必須更新這個屬性值,以符合採用 PowerShell 的負載平衡器 DNS 名稱。此範例適用於 SharePoint_Config 資料庫。

    Get-SPDatabase  #Lists all available SharePoint Databases
    
    $agName = "<Availability Group Listener DNS name>"
    $db = Get-SPDatabase -Name "Sharepoint_Config"
    $db.ChangeDatabaseInstance("$agName")
    $db.update()
    

對可用性群組中每個資料庫完成這項工作後,您可以進行容錯移轉測試。

使用下列步驟來進行 SQL Server 可用性群組的容錯移轉,確保管理中心網站仍可運作:

  1. 連線到伺服器陣列中的其中一部 SharePoint 伺服器。

  2. 啟動 SharePoint 管理中心並瀏覽網站,確保您未發生任何錯誤。

  3. 連接到第一部 SQL Server 虛擬機器,並啟動 SQL Server Management Studio。

  4. 展開 [可用性群組] 節點,在可用性群組名稱上按一下滑鼠右鍵,然後按一下 [容錯移轉]。

  5. 「可用性群組容錯移轉」精靈隨即啟動。按 [下一步]。

  6. 在 [選取此可用性群組的新主要複本] 頁面,選取第二部 SQL Server 虛擬機器,然後按 [下一步]。

  7. 按一下 [連線以對第二個節點進行驗證],然後按 [下一步]。

  8. 按一下 [完成],確認將會啟動動作和手動容錯移轉。

  9. 檢閱容錯移轉精靈摘要資訊中的錯誤或警告。

  10. 返回您在其中瀏覽管理中心網站的 SharePoint 伺服器,並確保您仍然可以瀏覽該網站,而不會發生錯誤。

Azure 中的高可用性 SharePoint Server 2016 伺服器陣列已完成。

Phase 4 of the SharePoint Server 2016 highly-available farm in Azure with SharePoint servers

See also

安裝及設定 SharePoint Server 2016

使用 SQL Server AlwaysOn 可用性群組在 Azure 中部署 SharePoint Server 2016
Microsoft Azure 中的 SharePoint Server 2016
在 Azure 中設計 SharePoint Server 2016 伺服器陣列