共用方式為


資料庫鏡像的必要條件、限制和建議

備註

這項功能將在未來的 SQL Server Microsoft 版本中移除。 請避免在新的開發工作中使用此功能,並計劃修改目前使用此功能的應用程式。 請改用 Always On 可用性群組。

本主題描述設定資料庫鏡像的必要條件和建議。 如需資料庫鏡像的簡介,請參閱資料庫鏡像 (SQL Server)

備註

64 位和 32 位環境中的 SQL Server 磁碟上記憶體格式相同。 因此,資料庫鏡像會話可以結合在32位環境中執行的伺服器實例,以及在64位環境中執行的伺服器實例。

支援資料庫鏡像

如需 SQL Server 2014 中資料庫鏡像支援的相關信息,請參閱 SQL Server 2014 版本支援的功能

請注意,資料庫鏡像適用於任何支持的資料庫相容性層級。 如需所支援相容性層級的相關信息,請參閱 ALTER DATABASE 相容性層級 (Transact-SQL)

先決條件

  • 若要建立鏡像會話,夥伴及(如有)見證必須在相同版本的 SQL Server 上執行。

  • 這兩個夥伴,即主體伺服器和鏡像伺服器,必須執行相同的SQL Server 版本。 如果有任何的話,見證可以在支持資料庫鏡像的任何 SQL Server 版本上執行。

    備註

    您可以將鏡像會話中夥伴的伺服器實例升級為較新版本的 SQL Server。 如需詳細資訊,請參閱 在升級伺服器實例時將鏡像資料庫的停機時間降到最低

  • 資料庫必須使用完整恢復模式。 簡單和大容量記錄的復原模式不支援資料庫鏡像。 因此,鏡像資料庫一律會完整記錄所有批次作業。 如需恢復模式的相關信息,請參閱 恢復模式 (SQL Server)

  • 確認鏡像伺服器有足夠的磁碟空間供鏡像資料庫使用。

    備註

    如需如何在復寫資料庫上使用資料庫鏡像的詳細資訊,請參閱資料庫鏡像和複寫(SQL Server)。

  • 當您在鏡像伺服器上建立鏡像資料庫時,請務必還原指定相同資料庫名稱WITH NORECOVERY之主體資料庫的備份。 此外,在建立備份之後建立的所有記錄備份也必須再次套用WITH NORECOVERY。

    這很重要

    如果資料庫鏡像已停止,您必須先將主體資料庫上執行的任何後續記錄備份套用至鏡像資料庫,才能重新啟動資料庫。

限制

  • 只能鏡像用戶資料庫。 您無法鏡像 mastermsdbtempdbmodel 資料庫。

  • 鏡像資料庫無法在資料庫鏡像會話期間重新命名。

  • 資料庫鏡像不支援 FILESTREAM。 無法在主體伺服器上建立 FILESTREAM 檔案群組。 資料庫鏡像無法針對包含 FILESTREAM 檔案群組的資料庫進行設定。

  • 在32位系統上,資料庫鏡像可以支援每個伺服器實例最多大約10個資料庫,因為每個資料庫鏡像會話所消耗的工作執行緒數量。

  • 跨資料庫交易或分散式交易不支持資料庫鏡像。 如需詳細資訊,請參閱 資料庫鏡像或 AlwaysOn 可用性群組 (SQL Server) 不支援跨資料庫交易。

設定夥伴伺服器的建議

  • 合作夥伴應該在可處理相同工作負載的可比較系統上執行。

    備註

    如果您打算使用具有自動故障轉移的高安全性模式,則每個故障轉移夥伴的正常負載應小於 CPU 的 50%。 如果您的工作負載超載 CPU,冗餘夥伴可能無法 ping 鏡像會話中的其他伺服器實例。 這會導致不必要的故障轉移。 如果您無法將 CPU 使用量保持在 50% 以下,建議您使用高安全性模式,而不需要自動故障轉移或高效能模式。

  • 可能的話,鏡像資料庫的路徑(包括驅動器號)應該與主體資料庫的路徑相同。 如果檔案配置必須不同,您必須在 RESTORE 語句中包含 MOVE 選項。 例如,如果主體資料庫位於磁碟驅動器 『F:』,但鏡像系統缺少 F: 磁碟驅動器。

    這很重要

    如果您在建立鏡像資料庫時移動資料庫檔案,稍後可能無法在不暫停鏡像的情況下將檔案新增至資料庫。

  • 鏡像會話中的所有伺服器實例都應該使用相同的主要代碼頁和定序。 差異可能會導致鏡像設定期間發生問題。

  • 選擇性地估計故障轉移資料庫的時間,以確保系統組態會提供您需要的效能。 如需詳細資訊,請參閱 估計角色切換期間服務中斷 (資料庫鏡像)

  • 為了獲得最佳效能,請使用專用網路介面卡來進行鏡像。

  • 我們不建議廣域網 (WAN) 是否足夠可靠,以高安全性模式進行資料庫鏡像。 如果您決定透過 WAN 使用高安全性模式,請謹慎將見證新增至會話的方式,因為可能發生不必要的自動故障轉移。 如需詳細資訊,請參閱本主題稍後 的部署資料庫鏡像建議

部署資料庫鏡像的建議

使用異步作取得最佳的資料庫鏡像效能。 當同步作業的工作負載產生大量事務歷史記錄數據時,使用同步作業的鏡像會話可能會遇到效能變慢。

在測試環境中,適合探索所有作業模式,以評估資料庫鏡像的執行方式。 不過,在將鏡像部署到生產環境之前,請確定您已瞭解網路在真實世界中的運作方式。

具有自動故障轉移功能的高安全性模式是為高品質服務網路設計的,這類網路要么具備專用連線,要么採用相當簡單的網路組態,以最大限度地減少可能的網路故障來源。 這類高品質網路環境對於具有自動故障轉移的高安全性模式而言是必要的,而且建議用於所有資料庫鏡像會話。 不過,沒有自動故障轉移的高效能模式和高安全性模式受到網路可靠性的影響要小得多。

因此,針對生產環境,我們建議您遵守下列部署指導方針:

  1. 開始以異步高效能模式執行。 此模式對網路環境最不敏感,並提供最佳設定來探索鏡像的運作方式。 我們建議您以異步方式執行系統,直到您確信您的頻寬支援鏡像,而且您已了解鏡像設定,以及環境中異步模式的效能。 如需詳細資訊,請參閱 Database Mirroring Operating Modes

    這很重要

    在整個測試過程中,我們建議您監視您的會話,以檢查是否有導致資料庫鏡像失敗的網路錯誤。 如需潛在失敗來源的詳細資訊,請參閱 資料庫鏡像期間可能發生的失敗。 如需如何監視資料庫鏡像的資訊,請參閱監視資料庫鏡像(SQL Server)。

  2. 當您確信異步作符合商務需求時,建議您嘗試同步作業來改善數據保護。 當您測試同步鏡像在環境中的運作方式時,建議您先測試高安全性模式,而不需要自動故障轉移。 此測試的主要目的是查看同步作業如何影響資料庫效能。 如需詳細資訊,請參閱 Database Mirroring Operating Modes

  3. 等候啟用自動故障轉移,直到您確信沒有自動故障轉移的高安全性模式符合業務需求,且網路錯誤不會造成失敗。 如需詳細資訊,請參閱資料庫鏡像工作階段期間的角色切換 (SQL Server)

另請參閱

建立資料庫鏡像 (SQL Server)
資料庫鏡像和 AlwaysOn 可用性群組的傳輸安全性 (SQL Server)
資料庫鏡像 (SQL Server)
排除資料庫鏡像配置的問題 (SQL Server)