程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 使用SQL Server日志轉移實現數據庫的高可用性

使用SQL Server日志轉移實現數據庫的高可用性

編輯:關於SqlServer

【導讀】本文主要針對SQL Server 2000介紹如何使用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監控。

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved