簡介
自從SQL Server 2000以來,你已能夠通過使用複製來創建一個備用的伺服器、傳輸日誌,及備份和重新存儲了??不過目前微軟又引入了一個內建的工具,他能實現自動的錯誤恢復。資料庫映像是SQL Server 2005的一個新特性,他允許你將一個SQL Server中的資料庫內容映像到另一個SQL Server上。他還讓你能在發生錯誤的時候,通過映像資料庫來進行錯誤恢復。
Edgewood Solutions 的Greg Robidoux 回答了我們一些SQL Server 2005中有關資料庫映像的常見問題,同時還解釋了為什麼你目前就應該開始測試這個內建的功能來看看他最終是否會給你的環境帶來好處。
什麼是資料庫映像?
因為是在SQL Server 2005中新引入的特性,這個功能只能用在,這個版本的軟體中。在某種程度上說,他是複製和日誌傳輸的混合體:你所有的事物都在事物級別(複製)上移動(日誌傳輸)到你的資料庫的一個映像拷貝上,同時減少了你在實現日誌傳輸或複製的時候可能會面臨的問題。
複製包括大量的移動部分,並且如果你的資料庫計畫經常改動的話,要確保你的複製運行得流暢也是困難重重。對於日誌傳輸,為了確保同步,同樣需要實現非常多的處理,例如創建備份、拷貝備份,及備份重存。如果有一個進程崩潰了,整個處理過程就崩潰了。
工作方式
資料庫映像的工作方式是什麼?
Robidoux :要進行資料庫映像所需的最小需求包括了兩個不同的SQL Server運行環境。主伺服器被稱為“基本的”,第二個伺服器被稱作“映像的”。基本資料庫就是你實際用著的資料庫,映像資料庫就是你的資料庫的備用拷貝。當事務寫入你的基本伺服器的時候,他們也同樣被傳送到並寫入你的映像資料庫中。
除了基本和映像之外,你還能引入另一個可選的組件,名為“證人”。證人資料庫是第三個SQL Server 2005運行實例,他是在判斷什麼時候進行錯誤恢復的時候,用於基本和映像之間內部交流。只有當你想實現自動錯誤恢復的時候用到這個選項。他實現了2比1投票的能力,當我的一個組件不可達,並因此需要進行錯誤恢復的時候。證人伺服器只有在你想實現自動錯誤恢復的時候才需要用到。
實現的方式是什麼?
Robidoux :資料庫映像提供了三種實現的方式。根據你想要用什麼方式來進行錯誤恢復處理來進行選擇。
高可用性:這個操作模式選項允許你在兩台伺服器上同步事務寫入,並支持自動錯誤恢復。要使用這個選項,你必須還要使用一個證人伺服器。
高保護:這個選項能讓你在兩台伺服器上同步事物寫入,不過錯誤恢復是手工的。因為自動的錯誤恢復不是這個選項的一部分,所以也不會用到證人伺服器。
高性能:這個選項不關心兩台伺服器上的寫入是否是同步的,因此在性能上有所提高。當使用這個選項的時候,你只能假設映像伺服器上的所有事情都是成功完成。這個選項只允許手工的錯誤恢復,因此不會用到證人伺服器。
時刻記住將你的數據自動恢復到第二個拷貝才是資料庫映像的真正好處。因此,大多數的實現可能都是使用的高可達性方式。其他的選項仍然提供了內建的錯誤恢復過程,不過前提是你在發生錯誤的時候對進行自動的錯誤恢復懷有極大的興趣。
資料庫映像能工作在哪幾個版本上?
Robidoux :資料庫映像只能在標準版、研發版和企業版的SQL Server 2005中找到。基本伺服器和映像伺服器的SQL Server運行實例都需要是這幾個版本。證人伺服器能運行在所有版本的SQL Server上。此外,更有其他的一些特性是SQL Server的研發版和企業版上特有的,不過標準版具有最基本的功能。
總結
現如今,SQL Server 2005的資料庫映像已關掉了,不過所有的功能仍然存在。資料庫映像能通過使用檢索標誌來打開??不過微軟目前並不支持這個功能了,所以不要在你的產品環境中運行他。資料庫映像將會在本年年末完全實現並被支持。
要打開這個特性並開始你的測試,你能看看以前的專家知識解答。微軟正在尋找額外的反饋,所以你能看看他是否能作為你的SQL Server環境的候選。
要找到更多有關資料庫映像的內容,你能看看《SQL Server 2005 線上手冊》,或看看《微軟白皮書》,其中比較周詳地解釋了資料庫映像的內容。