手動容錯移轉

手動容錯移轉會中斷用戶端與資料庫之間的連接,並將夥伴的角色反轉過來。只有高安全性模式支援手動容錯移轉。

[!附註]

本主題會假設您已熟悉高安全性模式。如需詳細資訊,請參閱<同步資料庫鏡像 (高安全性模式)>。

維護升級期間的可用性

資料庫管理員可以使用手動容錯移轉來升級硬體或軟體,而不必犧牲可用性。若要使用資料庫鏡像進行軟體升級,鏡像伺服器及/或系統必須已經升級。

[!附註]

資料庫鏡像應該可進行輪流升級,但因為不知道未來是否會有所變更,所以無法保證一定可以進行這類升級。如需詳細資訊,請參閱<如何:在升級伺服器執行個體時將鏡像資料庫的停機時間減至最少>。

下圖說明在升級資料庫伺服器執行個體的同時,使用手動容錯移轉來維護資料庫可用性的範例。升級完成時,系統管理員可以選擇性地容錯移轉回原始的伺服器執行個體。如果系統管理員想要停止鏡像工作階段,轉而使用別處的鏡像伺服器,這個方法便很有用。使用這個方法,更新一連串的資料庫伺服器執行個體時,就可以重複使用單一的伺服器執行個體。

已規劃的手動容錯移轉

手動容錯移轉所需的條件

手動容錯移轉需要將交易安全性設定為 FULL (即為高安全性模式)。當夥伴已連接而且資料庫已經同步處理後,就會支援手動容錯移轉。

手動容錯移轉如何運作

手動容錯移轉會起始下列動作順序:

  1. 主體伺服器會中斷用戶端與主體資料庫的連接、將記錄結尾傳送至鏡像伺服器,並在準備切換到鏡像角色時,將鏡像狀態設定為 SYNCHRONIZING。

  2. 鏡像伺服器會將從主體伺服器接收到最後一筆記錄的記錄序號 (LSN) 記錄下來,做為容錯移轉 LSN。

    [!附註]

    若要檢視此 LSN,請從 sys.database_mirroring (Transact-SQL) 選取 mirroring_failover_lsn 資料行。

  3. 如果在重做佇列中有任何記錄正在等待,則鏡像伺服器會完成鏡像資料庫的向前復原。所需時間取決於系統的速度、最近的工作負載,以及重做佇列中的記錄量。針對同步處理作業模式,容錯移轉時間可以藉由限制重做佇列的大小來調節。但是,這可能會造成主體伺服器變慢,以便鏡像伺服器能夠跟上。

    [!附註]

    若要了解重做佇列的目前大小,請使用資料庫鏡像效能物件中的 Redo Queue 效能計數器 (如需詳細資訊,請參閱<監視資料庫鏡像>)。

  4. 鏡像伺服器會變成新的主體伺服器,而舊的主體伺服器則會變成新的鏡像伺服器。

  5. 新的主體伺服器會回復至任何未認可的交易,並使它自己的資料庫副本變成線上狀態以做為主體資料庫。

  6. 舊的主體伺服器會接受鏡像角色,而舊的主體資料庫則變成鏡像資料庫。新的鏡像伺服器將會以新的主體資料庫快速地重新同步處理新的鏡像伺服器。

    [!附註]

    新鏡像伺服器重新同步處理資料庫後,就可以再次容錯移轉,但是方向會相反。

容錯移轉之後,用戶端必須重新連接到目前的主體資料庫。如需詳細資訊,請參閱<將用戶端連接至鏡像資料庫>。

若要初始化手動容錯移轉