什麼是資料庫鏡像?
將交易從主資料庫 (Principal) 同步傳送至鏡像資料庫 (Mirror) 的高可用性方案。鏡像副本不可直接存取,僅供故障切換使用。可視為「複寫 (交易層級) + 記錄傳送 (同步機制)」的結合體,簡化了傳統方案的運維複雜度。
架構角色
- Principal (主要):生產資料庫,接受讀寫
- Mirror (鏡像):備用副本,持續同步交易
- Witness (見證):選用第三實例,協助自動故障切換決策 (2:1 投票)
三種作業模式
| 模式 | 同步方式 | 故障切換 | 見證伺服器 | 適用場景 |
| 高可用性 | 同步 (同步認可) | 自動 | 必要 | 任務關鍵、零資料遺失、自動切換 |
| 高保護 | 同步 | 手動 | 不需要 | 需零資料遺失、可接受人工切換 |
| 高效能 | 非同步 | 僅手動 (強制) | 不需要 | 跨地理距離、效能優先、可容忍資料遺失 |
核心差異
- 高可用性:交易在 Principal 與 Mirror 雙方寫入完成 才回報用戶,見證者監控健康狀態,Principal 掛點自動切換
- 高保護:同步寫入但無見證者,切換需人工介入
- 高效能:Principal 僅本地寫入即回報,非同步傳送至 Mirror,效能最佳但可能遺失資料
版本需求
- Principal / Mirror:Standard / Developer / Enterprise Edition
- Witness:任意版本 (含 Express)
- 進階功能 (如資料庫快照、鏡像資料庫快照) 僅 Developer/Enterprise 支援
部署建議
大多數生產環境採用 高可用性模式 + 見證伺服器,兼顧零資料遺失與自動切換。若跨資料中心延遲高,可評估高效能模式並建立人工切換 SOP。