資料庫映象和日誌傳送
可以映象或使用日誌傳送給定的資料庫;也可以同時映象並使用日誌傳送該資料庫。若要選擇使用的方法,請考慮下列事項:
需要多少個目標伺服器?
如果只需要一個目標資料庫,建議使用資料庫映象解決方案。
如果需要多個目標資料庫,則需要使用日誌傳送(可以單獨使用,也可以與資料庫映象一起使用)。如果將這兩種方法組合使用,就既能享有資料庫映象的好處,又能獲得日誌傳送提供的多個目標資料庫的支援。
如果需要延遲還原目標資料庫的日誌(通常是為了防止邏輯錯誤),請使用日誌傳送(可以單獨使用,也可以與資料庫映象一起使用)。
本主題討論組合使用日誌傳送和資料庫映象時的注意事項。
注意:
有關這些技術的簡介,請參閱資料庫映象概述和日誌傳送概述。
組合使用日誌傳送和資料庫映象
當日志傳送備份共享保持不變時,映象會話中的主體資料庫也可以擔當日誌傳送配置中的主資料庫,反之亦然。資料庫映象會話可以在任何操作模式下執行,同步(將事務安全性設定為 FULL)或非同步(將事務安全性設定為 OFF)模式均可。
注意:
若要在資料庫中使用資料庫映象,始終需要完整恢復模式。
通常,組合使用日誌傳送和資料庫映象時,會先建立映象會話,然後再建立日誌傳送(儘管這並不是必需的)。然後,當前主體資料庫將被配置為日誌傳送主資料庫(主體/主資料庫),並與一個或多個遠端輔助資料庫一起使用。而且,映象資料庫也必須被配置為日誌傳送主資料庫(映象/主資料庫)。日誌傳送輔助資料庫應該位於非主體/主伺服器或非映象/主伺服器的伺服器例項上。
注意:
日誌傳送中所涉及的伺服器的區分大小寫設定應當匹配。
在日誌傳送會話期間,主資料庫上的備份作業將在備份資料夾中建立日誌備份。輔助伺服器的複製作業將從該位置複製備份。若要使備份作業和複製作業成功,它們必須都能訪問日誌傳送備份資料夾。若要使主伺服器達到最大可用性,我們建議在獨立主機上的共享備份位置建立備份資料夾。確保所有日誌傳送伺服器(包括映象/主伺服器)都能訪問共享備份位置(稱為“備份共享”)。
若要使日誌傳送在資料庫映象故障轉移後仍能繼續進行,還必須使用主體資料庫上用於主伺服器的配置將映象伺服器配置為主伺服器。映象資料庫處於還原狀態,這樣可以防止備份作業備份映象資料庫中的日誌。這將確保映象/主資料庫不會影響主體/主資料庫,後者的日誌備份當前正被輔助伺服器複製。為了防止虛假警報,在映象/主資料庫上執行備份作業之後,備份作業將向 log_shipping_monitor_history_detail 表中記錄一條訊息,然後代理作業將返回成功狀態。
映象/主資料庫在日誌傳送會話中處於非活動狀態。但是,如果映象進行故障轉移,則以前的映象資料庫將作為主體資料庫聯機。此時,該資料庫也將作為日誌傳送主資料庫變為活動狀態。以前無法在該資料庫中傳送日誌的日誌傳送備份作業也將開始傳送日誌。相反,故障轉移將使以前的主體/主資料庫成為新的映象/主資料庫並進入還原狀態,同時該資料庫上的備份作業也將停止備份日誌。
注意:
如果是自動故障轉移,當以前的主體/主資料庫重新加入映象會話時,它將切換到映象的角色。
若要在具有自動故障轉移功能的高安全性模式下執行,請為映象會話配置稱為“見證伺服器”的附加伺服器例項。如果因為某種原因主體資料庫在資料庫同步之後丟失,而映象伺服器和見證伺服器仍可以互相通訊,就會進行自動故障轉移。自動故障轉移將導致映象伺服器成為主體角色,並將其資料庫作為主體資料庫聯機。有關詳細資訊,請參閱自動故障轉移。如果新的主體/主伺服器可以訪問日誌傳送備份位置,則其備份作業將開始向該位置傳送日誌備份。資料庫映象同步模式可以保證日誌鏈不受映象故障轉移的影響,也可以保證只還原有效的日誌。輔助伺服器將繼續複製日誌備份,而不知道主伺服器已經變為不同的伺服器例項。
使用本地日誌傳送監視器時,此方案沒有特別的注意事項。有關如何對此方案使用遠端監視例項的資訊,請參閱本主題後面介紹的“資料庫映象對遠端監視例項的影響”。
從主體資料庫向映象資料庫進行故障轉移
下圖顯示了映象在具有自動故障轉移功能的高安全性模式下執行時日誌傳送和資料庫映象如何一起工作。開始時,Server_A 既是用於映象的主體伺服器,也是日誌傳送的主伺服器。Server_B 既是映象伺服器,也被配置為主伺服器(當前處於非活動狀態)。Server_C 和 Server_D 為日誌傳送輔助伺服器。為了使日誌傳送會話達到最大可用性,備份位置位於獨立主機上的共享目錄中。
完成映象故障轉移之後,輔助伺服器上定義的主伺服器名稱保持不變。
資料庫映象對遠端監視例項的影響
當日志傳送與遠端監視例項一起使用時,組合使用日誌傳送會話和資料庫映象會影響監視器表中的資訊。有關主伺服器的資訊是在主體/主伺服器上配置的監視器與在每個輔助伺服器上配置的監視器的組合。
若要儘可能地保持無縫監視,在使用遠端監視器時,我們建議您在輔助伺服器上配置主伺服器時指定原來的主伺服器名稱。此方法也可以使更改 Microsoft SQL Server 代理中的日誌傳送配置變得更加方便。有關監視的詳細資訊,請參閱監視日誌傳送。
同時設定映象和日誌傳送
若要同時設定資料庫映象和日誌傳送,需要執行下列步驟:
使用 NORECOVERY 將主體/主資料庫的備份還原到其他伺服器例項,從而在以後作為經過資料庫映象實現的主體/主資料庫的映象資料庫使用。有關詳細資訊,請參閱為映象準備映象資料庫。
設定資料庫映象。有關詳細資訊,請參閱如何配置資料庫映象會話 (SQL Server Management Studio) 或設定資料庫映象。
將主體/主資料庫的備份還原到其他伺服器例項,後者以後將用作主資料庫的日誌傳送輔助資料庫。有關詳細資訊,請參閱日誌傳送部署。
在用作一個或多個輔助資料庫的主資料庫的主體資料庫上設定日誌傳送。
應當將單個共享設定為備份目錄(一個備份共享)。這可以確保主體伺服器和映象伺服器之間進行角色切換後,備份作業能夠繼續像以前一樣寫入到同一目錄。最佳方法是確保此共享與映象和日誌傳送中所涉及的資料庫位於不同的物理伺服器上。
有關詳細資訊,請參閱如何啟用日誌傳送 (SQL Server Management Studio)。
從主體資料庫向映象資料庫手動進行故障轉移。
執行手動故障轉移:
如何手動故障轉移資料庫映象會話 (SQL Server Management Studio)
如何手動故障轉移資料庫映象會話 (Transact-SQL)
在用作主資料庫的新主體資料庫(以前為映象資料庫)上設定日誌傳送。
重要提示:
請不要在輔助資料庫上執行任何設定。
必須使用在步驟 4 中使用的同一備份共享。
SQL Server Management Studio 中的“事務日誌傳送”介面對於每個日誌傳送配置僅支援一個主資料庫。因此,必須使用儲存過程來將新主體設定為主資料庫。有關詳細資訊,請參閱如何啟用日誌傳送 (Transact-SQL)。
執行另一手動故障轉移以回到原始主體。
如何手動故障轉移資料庫映象會話 (SQL Server Management Studio)
如何手動故障轉移資料庫映象會話 (Transact-SQL)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-494022/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL server資料庫高可用日誌傳送的方法SQLServer資料庫
- SQL Server誤區 一個例項多個映象和日誌傳送延遲SQLServer
- 利用Oracle資料庫傳送郵件Oracle資料庫
- oracle資料庫mmnl日誌很大Oracle資料庫
- openGauss資料庫日誌管理指導資料庫
- 瀚高資料庫日誌挖掘方法資料庫
- 【測試】echo傳送和接收TCP/UDP資料包|shell 傳送TCP/UDP資料包TCPUDP
- 使用 requests 庫傳送多部分表單資料
- Sql Server2014資料庫清理日誌SQLServer資料庫
- springboot+logback日誌非同步資料庫Spring Boot非同步資料庫
- SQLServer資料庫日誌太大處理方式SQLServer資料庫
- 資料庫altert日誌中的GTX提示資料庫
- python 傳送buffer型別資料, 傳送octet-stream型別資料, 傳送Uint8Array型別資料Python型別UI
- 30332資料傳送指令
- IIS 日誌匯入到資料庫的方法資料庫
- 分析Oracle資料庫日誌檔案(三)EPOracle資料庫
- 分析Oracle資料庫日誌檔案(二)DOOracle資料庫
- 分析Oracle資料庫日誌檔案(一)HBOracle資料庫
- 如何使用MySQL資料庫來分析Apache日誌?MySql資料庫Apache
- oracle資料庫歸檔日誌量陡增分析Oracle資料庫
- Oralce資料庫關閉歸檔日誌並且刪除歸檔日誌資料庫
- PHP 傳送GET 和 POST資料的方法分析PHP
- oracle 資料庫lsnrctl監聽的日誌路徑和trace檔案Oracle資料庫
- Oracle 例項和RAC叢集下資料庫日誌目錄合集Oracle資料庫
- Sqlserver系統資料庫和使用者資料庫日誌檔案全部丟失的恢復SQLServer資料庫
- 資料庫MySQL一般查詢日誌或者慢查詢日誌歷史資料的清理資料庫MySql
- DB2日誌傳送基礎知識講解CIDB2
- 如何開關資料庫告警日誌及修改日誌級別資料庫
- 系統日誌及資料庫相關資訊收集資料庫
- 資料庫映象 (SQL Server)資料庫SQLServer
- python過濾nginx access日誌存入資料庫中PythonNginx資料庫
- 獲得資料庫操作日誌的三種方式資料庫
- 從 Oracle 日誌解析學習資料庫核心原理Oracle資料庫
- 【ElasticSearch】給ElasticSearch資料庫配置慢查詢日誌Elasticsearch資料庫
- 資料傳送類指令【80486】
- stm32-HAL使用usart傳送中斷判斷髮送標誌庫問題
- 使用 Vim 傳送郵件和檢查日曆
- 達夢8資料庫REDO日誌日常管理方法資料庫
- 【LOG】Oracle資料庫清理日誌、跟蹤檔案利器Oracle資料庫