共用方式為


如何設定 Always On 可用性群組,以在資料庫資料檔案無法使用時執行容錯移轉 (機器翻譯)

摘要

在 SQL Server Always On 可用性群組中,資料庫層級健全狀況偵測只有在資料庫事務歷史記錄中發生錯誤(磁碟失敗或類似專案)時,才能執行故障轉移。

如果數據文件發生錯誤,SQL Server 只會將失敗通知傳送至 Windows Server 故障轉移叢集 (WSFC),並依賴它根據原則設定做出正確的決策。

若要將 Always On 可用性群組設定為在發生錯誤 823 和其他錯誤時執行故障轉移,請使用下列其中一個程式:

設定故障轉移叢集管理員

此程式會設定 WSFC 原則,讓故障轉移至其中一個可能的擁有者,而不是嘗試重新啟動目前主要節點上的角色。

  1. 開啟 [容錯移轉叢集管理員]。

  2. 展開您的叢集,然後選取 [ 角色]。

  3. 以滑鼠右鍵按兩下 AG 角色,然後選取 [屬性原則>]。

  4. 將指定期間內 [最大重新啟動] 的值設定為 0

  5. 核取方塊 如果所有重新啟動嘗試都失敗,請在指定的期間 (hh:mm) 之後重新開始重新啟動,然後選取 [ 確定]。

  6. 請確定您的節點都是可能的擁有者和慣用的擁有者

自訂組態選項

此程式提供如何在 SQL Server 和 SQL Server Agent 中使用可用的警示機制來偵測錯誤並執行故障轉移的範例。

  1. 在 [SQL Server Management Studio] 中,展開 [SQL Server Agent],以滑鼠右鍵按兩下 [ 警示],然後選取 [ 新增警示...]。

  2. 針對 [名稱] 指定值、針對 [類型] 選取 [SQL Server 事件警示]、根據清單指定 [錯誤號碼] 的值823 或任何其他所需的錯誤,然後選取 [確定]。

  3. 選取 [回應],勾選 [執行作業],選取您想要的作業,然後選取 [確定]。

  4. 在 [作業步驟屬性] 對話框中,指定 [步驟名稱] 的值,選取 [操作系統] [CmdExec] 作為 [類型],然後選取 [SQL Server Agent 服務帳戶] 作為 [執行身分]。

  5. 輸入下列故障轉移 sqlcmd 命令:

    sqlcmd -S <SecondaryReplicaName> -U SQLADMIN -P <YourPassword> -Q "ALTER Availability Group <AGName> Failover"

    注意

    <SecondaryReplicaName><YourPassword><AGName> 是佔位元。 您需要變更它以符合您的環境。 此腳本是參考的範例。 完整腳本應該先執行其他檢查,再執行故障轉移。