如何快速掌握SQL Server中的日誌轉移

才智咖 人氣:3.05W

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

如何快速掌握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監控。

註釋:資料庫登入必須在原始資料庫與備份資料庫之間同時進行。

TAGS:Server SQL 日誌