萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mssql數據庫 >> 教你快速掌握SQL Server中的“日志轉移”

教你快速掌握SQL Server中的“日志轉移”

   集群是一種實現高可用性的有效解決方案,有時它會適得其反。而且,它還非常昂貴。因此,數據庫管理員可使用日志轉移代替集群來提供較高的可用性。

  日志轉移是這樣一種處理過程,它能將某一數據庫中的事務日志文件依次轉存到備份的數據庫中,進而為這一數據庫創建一個“近乎”熱備份。SQL Server 2000的數據庫引擎中設置了日志轉移功能,並在其中進行處理。所以它會自動完成復原到備份服務器的進程,而不需要數據庫管理員手動操作。只有你的產品服務器操作失敗,你才需手動完成到備份服務器的復原進程。(注釋:盡管SQL Server 7.0和2005中均有日志轉移功能,但本文主要針對SQL Server 2000。)

  ◆為什麼要使用日志轉移?

  日志轉移是一種解決高可用性的措施,並且十分有效。同樣作為高可用性的措施方案,日志轉移相對集群來說,最大的好處是它要便宜許多。這是因為,使用集群功能有硬件要求,而日志轉移則不需要。

  日志轉移在數據庫與數據庫而非服務器與服務器之間進行;因此才有可能將備份數據庫存儲在你已用作其他用途的服務器上。但如果轉移失敗則有可能會出現問題,這時你可換用備份數據庫,這種選擇是可用的。

  日志轉移相對比較容易安裝。SQL Server提供了非常完善的向導幫助你安裝這個進程。

  日志轉移允許你保存分布在不同地理位置中的冗余數據,SQL Server的集群功能則很難做到這一點。這一特點十分出眾,因為,當你的數據中心遭到災難時,你仍能在備份服務器中將其恢復過來。而在相同的數據中心,如果你使用的是集群功能,你就會陷入麻煩。

  日志轉移的另一優點是你能將備份數據庫作為報告數據庫使用,這對許多公司來說是很不錯的選擇。但如果你決定了用這個備份數據庫作報告使用,就必須注意它的局限性。使用原始數據庫中的日志時,SQL Server 要求指定唯一的通道,所以,當日志文件正在被應用時,報告則不能同時進行。

  ◆使用日志轉移要考慮的相關因素

  在將日志轉移作為高可用性的方案來使用時,我們必須考慮以下幾點因素。由於從原始數據庫到備份數據庫有一個潛伏期,對你的公司而言,它並非一定是可行的實現高可用性的一種解決方案。潛伏期由數據庫管理員設置,時間也因需要而縮短, 但永遠不能避免。

  日志轉移中沒有設置恢復功能,這就意味著在將日志轉移到備份服務器上時,這些日志都暫時不可用。因此,數據庫管理員必須在將備份數據庫放到網上前完成一系列的操作,這些步驟包括:

  將已存儲在備份數據服務器上原始數據庫裡的備份標簽存儲起來。一旦所有的標簽被存儲後,數據庫就必須得到恢復,然後放到網上。

  一旦所有的數據庫都已放在網上,所有需要訪問數據庫的應用程序就需要改變自身的鏈接。如果你不能將應用程序盡快指向剛剛恢復的數據庫,你就前功盡棄了。

  一個SQL Server的實例能用於監控日志轉移。這個實例可以在原始數據庫、備份數據庫或單獨的數據庫中。任何一種版本的SQL Server都能用於SQL Server監控。

  注釋:數據庫登錄必須在原始數據庫與備份數據庫之間同時進行。

copyright © 萬盛學電腦網 all rights reserved