首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> SQL Server 2008

SQL Server 2008 資料庫鏡像部署實戰(三):配置見證伺服器實現自動故障轉移

     編輯:SQL Server 2008

見證伺服器核心概念

  • 角色:僅支援自動故障轉移,不參與資料庫服務
  • 必要條件:高安全性模式 + 見證伺服器 = 自動故障轉移
  • 部署建議:獨立實體機器,避免與主體/鏡像共用硬體降低可靠度
  • 高效能模式禁忌:見證伺服器會降低可用性,必須設為 OFF

自動故障轉移觸發條件

  1. 鏡像會話運行於高安全性模式(同步)且已配置見證伺服器
  2. 鏡像資料庫已完全同步(所有記錄已寫入磁碟)
  3. 主體伺服器與其他夥伴中斷通訊,但鏡像與見證保持仲裁
  4. 鏡像伺服器偵測到主體伺服器遺失

自動故障轉移流程

  1. 主體資料庫狀態變為 DISCONNECTED,斷開所有用戶端連線
  2. 見證與鏡像將主體標記為不可用
  3. 鏡像完成重做佇列中待處理記錄的前滾操作
  4. 鏡像資料庫上線成為新主體,回滾未提交交易
  5. 原主體恢復連線後降級為鏡像角色,重新同步
自動故障轉移流程圖
圖:自動故障轉移狀態流轉示意

見證伺服器配置步驟(透過 SSMS 精靈)

  1. 主體伺服器 SSMS → 右鍵資料庫 → 工作 → 鏡像
  2. 點擊「配置安全性」→ 下一步
  3. 選擇「是,包含見證伺服器」→ 下一步
  4. 見證伺服器實例:輸入見證伺服器位址/機器名與端點名稱
  5. 服務帳號:輸入網域管理員帳號(建議預先在網域建立專用服務帳號)
  6. 確認摘要 → 完成
鏡像配置安全性 包含見證伺服器 見證伺服器配置 見證伺服器位址 服務帳號 配置摘要1 配置摘要2

自動故障轉移測試

  1. 確認當前主體:Hytest01,鏡像:Hytest02
  2. 斷開 Hytest01 網路連線
  3. 觀察 Hytest02 自動升級為主體,角色互換
故障轉移前狀態 故障轉移後狀態

用戶端連線字串配置

ADO.NET / SQL Native Client 支援自動故障轉移夥伴連線:

ConnectionString="Data Source=A;Failover Partner=B;Initial Catalog=AdventureWorks;Integrated Security=true;"
  • Data Source:主體伺服器
  • Failover Partner:鏡像伺服器
  • 驅動程式自動處理故障轉移後的重新導向

系列文章回顧

總結

完成見證伺服器配置後,SQL Server 2008 資料庫鏡像具備企業級高可用能力:自動偵測故障、秒級故障轉移、用戶端透明切換。關鍵成功因子在於:同步模式、網路穩定性、見證伺服器獨立部署、用戶端連線字串正確配置。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved