資料庫鏡像的必要條件、限制和建議事項
適用於:SQL Server
注意
SQL Server 的未來版本將移除此功能。 請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。 請改用 Always On 可用性群組。
SQL Server 中的資料庫鏡像是與 Microsoft Fabric 資料庫鏡像不同的技術。
本主題描述設定資料庫鏡像的必要條件和建議事項。 如需資料庫鏡像的簡介,請參閱資料庫鏡像 (SQL Server)。
支援資料庫鏡像
如需 Windows 上 SQL Server 版本所支援的功能清單,請參閱:
- SQL Server 2022 的版本和支援功能
- SQL Server 2019 的版本及支援功能
- 版本及支援的 SQL Server 2017 功能
- 版本及支援的 SQL Server 2016 功能
請注意,資料庫鏡像適用於任何支援的資料庫相容性層級。 如需所支援相容性層級的相關資訊,請參閱 ALTER DATABASE 相容性層級 (Transact-SQL)。
必要條件
針對要建立的鏡像工作階段,夥伴伺服器和見證伺服器 (如果有的話) 必須執行相同的 SQL Server 版本。
兩個夥伴 (即主體伺服器和鏡像伺服器) 必須執行相同的 SQL Server 版本。 見證伺服器 (如果有的話) 可以在任何版本的 SQL Server 上執行,只要該版本支援資料庫鏡像。
注意
您可以將作為鏡像工作階段夥伴的伺服器執行個體升級為最新版的 SQL Server。 如需詳細資訊,請參閱 升級鏡像執行個體。
資料庫必須使用完整復原模式。 簡單與大量記錄復原模式不支援資料庫鏡像。 因此,鏡像資料庫的大量作業永遠都是完整記錄作業。 如需復原模式的相關資訊,請參閱復原模式 (SQL Server)。
確認鏡像伺服器有足夠的磁碟空間可用於鏡像資料庫。
注意
如需如何在已複寫資料庫上使用資料庫鏡像的相關資訊,請參閱資料庫鏡像和複寫 (SQL Server)。
在鏡像伺服器上建立鏡像資料庫時,請確定您使用 WITH NORECOVERY 指定了相同的資料庫名稱來還原主體資料庫的備份。 另外,您還必須再一次使用 WITH NORECOVERY 來套用該備份完成之後建立的所有記錄備份。
重要
如果資料庫鏡像已停止,您必須先將主體資料庫上建立的所有後續記錄備份套用到鏡像資料庫,然後才能重新啟動鏡像。
限制
只有使用者資料庫可進行鏡像。 您無法鏡像處理 master、 msdb、 tempdb或 model 資料庫。
鏡像資料庫不能在資料庫鏡像工作階段期間重新命名。
資料庫鏡像不支援 FILESTREAM。 不能在主體伺服器上建立 FILESTREAM 檔案群組。 不能針對包含 FILESTREAM 檔案群組的資料庫設定資料庫鏡像。
跨資料庫交易或分散式交易不支援資料庫鏡像。 如需詳細資訊,請參閱資料庫鏡像或 Always On 可用性群組不支援跨資料庫交易 (SQL Server)。
設定夥伴伺服器的建議
夥伴伺服器應該在可相比而且可以處理相同工作負載的系統上執行。
注意
如果您打算使用具有自動容錯移轉的高安全性模式,則每個容錯移轉夥伴的正常負載應該少於 50% 以下的 CPU 使用量。 如果您的工作負載使 CPU 超載,容錯移轉夥伴可能無法在鏡像工作階段中對其他伺服器執行個體發出 ping 命令, 進而導致不必要的容錯移轉。 如果您無法將 CPU 使用量保持在 50% 以下,我們建議您使用不含自動容錯移轉的高安全性模式或高效能模式。
如果可行的話,鏡像資料庫的路徑 (包括磁碟機代號) 應該要和主體資料庫的路徑完全相同。 如果檔案配置必須不同,您必須在 RESTORE 陳述式中包含 MOVE 選項。 例如,如果主體資料庫位於磁碟機 'F:',但是鏡像系統缺少 F: 磁碟機。
重要
在建立鏡像資料庫時,如果您移動資料庫檔案,則稍後必須暫停鏡像,否則可能無法將檔案加入資料庫。
鏡像工作階段中的所有伺服器執行個體都應該使用相同的主要字碼頁和定序。 如果有差異,可能會在鏡像設定期間發生問題。
另外,也可以估計容錯移轉資料庫的時間,確定系統組態將會提供所需的效能。 如需詳細資訊,請參閱預估角色切換期間的服務中斷時間 (資料庫鏡像)。
為達最佳效能,請為鏡像使用專用的網路介面卡 (NIC)。
關於廣域網路 (WAN) 對於高安全性模式的資料庫鏡像而言是否可靠,我們不提供任何建議。 如果您決定在 WAN 上使用高安全性模式,則將見證伺服器加入工作階段時要小心謹慎,因為可能會發生不必要的自動容錯移轉。 如需詳細資訊,請參閱本主題稍後的 部署資料庫鏡像的建議。
部署資料庫鏡像的建議
最佳資料庫鏡像效能是使用非同步作業所取得。 當使用同步作業之鏡像工作階段的工作負載產生大量交易記錄資料時,效能可能會變慢。
在測試環境中,適合瀏覽所有作業模式,以評估資料庫鏡像的效能。 然而,在實際環境中部署鏡像之前,必須先了解網路如何在實際環境中運作。
具有自動容錯移轉的高安全性模式是針對具有專用連接或相當簡單之網路組態的高服務網路所設計,可讓可能發生的網路失敗來源減至最少。 具有自動容錯移轉的高安全性模式一定需要這類高品質網路環境,而且建議所有資料庫鏡像工作階段都使用這類環境。 不過,高效能模式和不含自動容錯移轉的高安全性模式則較不受網路可靠性的影響。
因此,若為實際執行環境,建議您遵守下列部署指導方針:
以非同步、高效能模式開始執行。 這個模式對網路環境最不敏感,而且會提供瀏覽鏡像運作方式的最佳組態。 我們建議您以非同步的方式執行系統,除非您非常確信您的頻寬可支援鏡像,而且已具備了環境中鏡像設定和非同步模式效能的完整知識。 如需詳細資訊,請參閱 Database Mirroring Operating Modes。
重要
在整個測試中,建議您監視工作階段,以找出讓資料庫鏡像失敗的網路錯誤。 如需有關可能之失敗來源的詳細資訊,請參閱< Possible Failures During Database Mirroring>。 如需如何監視資料庫鏡像的相關資訊,請參閱監視資料庫鏡像 (SQL Server)。
當您確信非同步作業符合您的商務需求時,可能會想要嘗試同步作業來提升資料保護。 當您測試同步鏡像如何在環境中運作時,建議您先測試不含自動容錯移轉的高安全性模式。 這項測試的主要目的是要了解同步作業如何影響資料庫效能。 如需詳細資訊,請參閱 Database Mirroring Operating Modes。
等候啟用自動容錯移轉,直到您確信不含自動容錯移轉的高安全性模式已符合商務需求,而且網路錯誤不會導致失敗為止。 如需詳細資訊,請參閱資料庫鏡像工作階段期間的角色切換 (SQL Server)。
另請參閱
設定資料庫鏡像 (SQL Server)
資料庫鏡像和 Always On 可用性群組的傳輸安全性 (SQL Server)
資料庫鏡像 (SQL Server)
為資料庫鏡像組態進行疑難排解 (SQL Server)