指定的資料庫可以鏡像或進行日誌傳輸;也可以同時鏡像和日誌傳輸。 若要選擇要使用的方法,請考慮下列事項:
您需要多少個目的地伺服器?
如果您只需要單一目的地資料庫,建議使用資料庫鏡像。
如果您需要多個目的地資料庫,則必須單獨使用記錄傳送,或是搭配資料庫鏡像使用。 結合這些方法可提供資料庫鏡像的優點,並且支援由日誌傳送提供的多個目的地。
如果您需要延遲還原日誌檔至目的地資料庫(通常是為了防範邏輯錯誤),請使用日誌傳送,可以單獨使用或搭配資料庫鏡像使用。
本主題探討結合記錄傳送與資料庫鏡像的考量因素。
備註
如需這些技術的簡介,請參閱 資料庫鏡像 (SQL Server) 和 關於記錄傳送 (SQL Server) 。
結合日誌傳送和資料庫鏡像
鏡像會話中的主體資料庫也可以做為記錄傳送組態中的主資料庫,反之亦然,因為記錄傳送備份共用保持不變。 資料庫鏡像會話會在任何作業模式中執行,無論是同步的(交易安全性設定為 FULL)還是異步的(交易安全性設定為 OFF)。
備註
若要在資料庫上使用資料庫鏡像,一律需要完整復原模式。
一般而言,在合併記錄傳送和資料庫鏡像時,鏡像會話會在記錄傳送之前建立,雖然這並非必要。 然後,目前的主體資料庫會設定為記錄傳送主要資料庫( 主體/主資料庫),以及一或多個遠程輔助資料庫。 此外,鏡像資料庫必須設定為記錄傳送主要資料庫( 鏡像/主資料庫)。 記錄傳送輔助資料庫應該位於與主體/主伺服器或鏡像/主伺服器不同的伺服器實例上。
備註
參與記錄傳送的伺服器的區分大小寫設定應該一致。
在記錄傳送會話期間,主資料庫上的備份作業會在備份資料夾中建立記錄備份。 從那裡,備份會由次要伺服器的複製作業來處理。 若要讓備份作業和複製作業成功,他們必須能夠存取記錄傳送備份資料夾。 若要將主伺服器的可用性最大化,建議您在個別主計算機上的共用備份位置中建立備份資料夾。 請確定所有記錄傳送伺服器,包括鏡像/主伺服器,都可以存取共用備份位置(稱為 備份共用)。
若要在資料庫鏡像故障轉移後繼續進行日誌傳送,您也必須將鏡像伺服器設定為主伺服器,並使用與主體資料庫相同的組態進行設定。 鏡像資料庫處於還原狀態,可防止備份作業備份鏡像資料庫上的記錄檔。 這可確保鏡像/主資料庫不會干擾其記錄備份目前正在由次要伺服器複製的主/主要資料庫。 若要防止產生虛假警示,備份作業在鏡像/主資料庫上執行之後,備份作業會將訊息記錄至 log_shipping_monitor_history_detail 數據表,而代理程式作業會傳回成功狀態。
鏡像/主資料庫在記錄傳送會話中處於非使用中狀態。 不過,如果鏡像故障轉移,先前的鏡像資料庫會以主體資料庫的形式上線。 此時,該資料庫也會啟用為記錄傳送主資料庫。 先前無法在該資料庫上進行記錄傳送的備份作業,如今開始傳送記錄。 相反地,故障轉移會導致先前的主體/主資料庫成為新的鏡像/主資料庫,並進入還原狀態,以及該資料庫上的備份作業停止備份記錄。
備註
如果發生自動故障轉移,當先前的主資料庫重新加入鏡像會話時,系統將切換至鏡像角色。
若要在具有自動故障轉移的高安全性模式中執行,鏡像會話會設定為額外的伺服器實例,稱為 見證。 如果主要資料庫在同步處理後因任何原因而遺失,而鏡像伺服器和見證伺服器仍能彼此聯繫,就會發生自動切換。 自動故障轉移會使鏡像伺服器接管主伺服器的角色,並將其資料庫作為主資料庫上線。 如果新的主體/主伺服器可以存取記錄傳送備份位置,其備份作業就會開始將記錄備份寄送至該位置。 資料庫鏡像同步模式可確保記錄鏈結不受鏡像故障轉移影響,而且只會還原有效的記錄檔。 輔助伺服器會繼續複製記錄備份,而不知道不同的伺服器實例已變成主伺服器。
當使用本機日誌傳輸監視器時,不需要為此情境進行任何特殊考量。 如需有關使用遠端監視實例與此案例搭配的資訊,請參閱本主題稍後的「資料庫鏡像對遠端監視實例的影響」。
從主資料庫故障切換至鏡像資料庫
下圖顯示在具有自動故障轉移的高安全性模式執行時,如何使記錄傳送與資料庫鏡像協同運作。 一開始,Server_A 同時是鏡像的主要伺服器和記錄傳送的主要伺服器。 Server_B 是鏡像伺服器,也會設定為目前處於非使用中狀態的主伺服器。 Server_C 和 Server_D 是記錄傳送輔助伺服器。 若要將記錄傳送會話的可用性最大化,備份位置位於個別主計算機上的共享目錄中。
鏡像故障轉移之後,在輔助伺服器上定義的主伺服器名稱會保持不變。 .
資料庫鏡像對遠端監視實例的影響
當記錄傳送搭配遠端監視實例使用時,結合記錄傳送會話和資料庫鏡像會影響監視數據表中的資訊。 主要復本的相關信息是主要/主要端所設定的,以及在每個次要複本上設定的監視器的組合。
若要盡可能順暢地監視,當您使用遠端監視器時,建議您在次要位置設定主要複本時指定原始的主要名稱。 此方法也有助於從 Microsoft SQL Server Agent 變更日誌傳輸配置。 如需監視的詳細資訊,請參閱監視記錄傳送(Transact-SQL)。
設定鏡像和記錄傳送在一起
若要一起設定資料庫鏡像和日誌傳送,請遵循下列步驟進行操作:
將具有NORECOVERY之主體/主資料庫的備份還原到另一個伺服器實例,以供稍後作為主體/主資料庫的資料庫鏡像資料庫使用。 如需詳細資訊,請參閱為鏡像準備資料庫 (SQL Server)。
設定資料庫鏡像。 如需詳細資訊,請參閱 使用 Windows 驗證建立-資料庫鏡像功能工作階段(SQL Server Management Studio) 或 設定資料庫鏡像功能(SQL Server)。
將主要資料庫的備份還原至其他伺服器實例,稍後用作主資料庫日誌傳輸的次級資料庫。
在主資料庫上設置日誌傳送,作為一或多個輔助資料庫的主資料庫。
您應該將單一分享設定為備份目錄(備份分享)。 這可確保在主體和鏡像伺服器之間切換角色之後,備份作業會繼續寫入與之前相同的目錄。 最佳實踐是確保此共用位於與執行鏡像和記錄傳送相關資料庫的伺服器不同的物理伺服器上。
如需詳細資訊,請參閱 設定記錄傳送 (SQL Server) 。
手動從主要伺服器故障轉移至鏡像伺服器。
若要執行手動故障轉移:
在新的主體上設定記錄傳送(先前鏡像)作為主資料庫。
這很重要
請勿從副系統執行任何設定。
您必須使用您在步驟 4 中使用的相同備份共用。
SQL Server Management Studio 中的 事務歷史記錄傳送 介面僅支援每個記錄傳送組態的一個主要資料庫。 因此,您必須使用預存程式,將新的主體設定為主要。
執行另一個手動故障切換以回切至原始主要伺服器。