共用方式為


暫停與繼續資料庫鏡像 (SQL Server)

資料庫擁有者可以隨時暫停及稍後繼續資料庫鏡像會話。 暫停會保留工作階段狀態,同時暫停鏡像功能。 在瓶頸期間,暫停可能有助於改善主體伺服器上的效能。

當會話暫停時,主體資料庫仍可供使用。 暫停會將鏡像會話的狀態設定為 SUSPENDED,而鏡像資料庫不再與主體資料庫保持一致,導致主體資料庫執行公開。

我們建議您快速繼續暫停的會話,因為只要資料庫鏡像會話保持暫停,事務歷史記錄就無法截斷。 因此,如果資料庫鏡像會話暫停太久,事務歷史記錄就會填滿,讓資料庫無法使用。 如需了解為何會發生這種情況的詳細說明,請參閱本主題稍後的「暫停和恢復如何影響日誌截斷」。

這很重要

在強制服務之後,當原始主體伺服器重新連線時,將暫停鏡像。 在此情況下,恢復鏡像可能會導致原始主體伺服器上的數據遺失。 如需管理潛在數據遺失的相關信息,請參閱 資料庫鏡像作業模式

本主題內容:

暫停和繼續如何影響記錄截斷

一般而言,在資料庫上執行自動檢查點時,交易記錄會在下一個記錄備份之後,截斷至該檢查點。 當資料庫鏡像會話保持暫停時,所有目前的記錄檔記錄都會保持作用中,因為主體伺服器正在等候將它們傳送至鏡像伺服器。 未傳送的記錄檔記錄會累積在主體資料庫的事務歷史記錄中,直到會話繼續,且主體伺服器已將記錄檔記錄傳送至鏡像伺服器為止。

恢復會話時,主伺服器會立即開始將累積的紀錄傳送至鏡像伺服器。 鏡像伺服器確認它已將相應於最舊自動檢查點的日誌記錄排入佇列後,主體伺服器將主體資料庫的日誌縮減到該自動檢查點。 鏡像伺服器會在相同的記錄檔記錄中截斷重做佇列。 由於每個後續檢查點都會重複此程序,因此記錄檔會在每個檢查點逐步被截斷。

備註

如需檢查點和記錄截斷的詳細資訊,請參閱 資料庫檢查點 (SQL Server)

避免完整的交易記錄檔

如果記錄檔填滿 (可能是因為它達到其大小上限或伺服器實例用盡空間),資料庫就無法再執行任何更新。 若要避免這個問題,您有兩個替代方案:

  • 在日誌填滿之前恢復資料庫鏡像會話,或新增更多日誌空間。 恢復資料庫鏡像可讓主伺服器將其累積的活動記錄傳送至鏡像伺服器,並將鏡像資料庫置於同步狀態。 鏡像伺服器接著可以將記錄強化至磁碟,並開始重執行。

  • 移除鏡像功能以停止資料庫鏡像會話。

    與暫停會話不同,移除鏡像會刪除關於鏡像會話的所有資訊。 每個夥伴伺服器實例都會保留自己的資料庫複本。 如果復原先前的鏡像複本,它將會與先前的主體復本不同,並落後於會話暫停后經過的時間量。 如需詳細資訊,請參閱 移除資料庫鏡像 (SQL Server)

相關工作

暫停或繼續資料庫鏡像

終止資料庫鏡像

另請參閱

ALTER DATABASE (Transact-SQL)
資料庫鏡像 (SQL Server)
移除資料庫鏡像 (SQL Server)