專利名稱:數據恢復系統和方法
技術領域:
本發明涉及一種對已經丟失的數據進行恢復的系統和方法。更具體地, 本發明的實施例涉及在數據庫鏡像環境下進行數據恢復的系統和方法。
背景技術:
在日常生活和商業環境中,計算機網絡無處不在。除了廣泛的互聯網應用之外,局域網(LANs)允許用戶共享計算機服務。很多企業實體在其機 構內部使用LANs,并通過網絡為用戶提供數據的存取。對計算機和計算機網絡的依賴就產生了提高數據可用性和可靠性的需 求。很多商業實體將幾乎所有的商業數據存儲在計算機網絡中,并且網絡用 戶希望在任何允許時間內都擁有不間斷的數據存取。而這種不間斷的數據存 取的需求則需要具有功能增強的軟件和硬件的支持。因為網絡中存儲數據的 數量、網絡中數據存取能力的需求都在不斷增長,所以保護數據不受如系統 故障、文件損壞和病毒入侵等意外事件的影響就變得越來越困難。一般而言,保護數據不受潛存的破壞性事件的影響,都由用以備份數據 的軟件以及用以存儲所備份數據的安全硬件共同完成。隨著需要保存的數據 量增加,數據備份操作就變得愈加復雜。例如,千兆字節的數據(gigabytes of data)就不能從原始位置快速傳輸到備份位置。此外,對于持續的數據存取 是絕對必要的環境而言,在進行備份時使得數據變成不可用就不是可行的選 擇。雖然對大批量數據進行備份時己經成為問題,但這卻不是僅存的與典型 的數據備份系統相關的問題。網絡用戶和管理員可能還希望對不同類型的數 據進行備份。在文件備份之外,網絡用戶可能還想備份應用(程序)和服務, 而對應用和服務的備份則頗有難度。例如,當啟動備份時,應用和服務通常 都含有打開文件,而此類打開文件一般不能被有效地或可靠地備份,這些文 件在備份操作時經常會被跳過。其結果就是,往往需要額外的備份應用來協
同管理在啟動文件系統備份時被跳過的應用和服務的備份操作。與數據備份有關的另外的問題涉及到當數據被傳輸到備份位置時,備份 數據的跟蹤方式。特別地,當數據被備份時,備份副本被移到新的位置,此 時很有必要形成一個有關數據是怎樣被存儲的記錄,以利于對存儲數據進行 存取。 一般而言,備份系統包括記錄每個備份文件或應用的精確位置的數據 庫。當用戶希望從備份系統中對文件進行定位或恢復時,數據庫在備份介質 中文件的存儲位置對文件進行定位。當對備份數據的位置進行跟蹤時,典型的備份軟件系統僅僅將數據放到 備份位置并在索引中對其位置進行跟蹤。更具智能的數據庫軟件系統則具有 在備份數據時對數據進行分類的功能,這樣數據就可以被智能地存儲起來。 例如,較為復雜的數據庫軟件系統可以在同一介質中存儲相似文件的備份, 用此方式分類和存儲數據將允許更有效的數據存儲和恢復。典型備份軟件系統的另一個缺點是,在網絡中它們不能進行數據的重新 定位,或者在網絡中不能有多于一個可用的數據副本。雖然備份軟件系統從 網絡中的所有用戶處收集數據,但數據本身被認為是處在網絡中的某個單一 位置中,而不是與其他位置交叉參照。當對網絡中的數據進行備份時,上述 冗余和交叉參照都不能實現。備份數據的存取是數據庫備份系統的配置中需要考慮的重要因素。備份 數據的目的之一就是以一種方式保存數據,以備當文件損壞或丟失時找回備 份副本和恢復文件之用。當一個文件損壞或丟失后,用戶向備份服務器請求 文件的備份副本,備份服務器隨后利用文件索引和介質數據庫中存儲的位置 對此文件定位,恢復該文件,并令該文件變成對用戶可用。
為了更進一步明確本發明的實施例的上述和其他特點,將參照附圖中示 出的具體實施例對本發明進行更具體描述。應該理解這些附圖僅僅是示出了 本發明的典型實施例,而不是用以限定其范圍。附圖的繪制沒有按比例進行。利用下面的附圖,結合附加的特點和細節對本發明進行描述和解釋,附 圖中
圖1示出在網絡中備份和恢復文件系統數據的系統示例; 圖2示出在數據庫鏡像環境中進行數據庫定位的系統示例; 圖3示出在數據庫鏡像環境中對任意數量的數據庫進行鏡像配置的系統 示例;圖4示出數據庫恢復系統示例;圖5是一個流程圖,用以描述通過從數據庫請求目標數據而恢復數據的 程序。
具體實施方式
I.數據庫操作系統示例圖1顯示一個適用于本發明實施例的操作環境。在圖1中舉例說明文件系統數據備份和恢復系統示例("DBRS") 100,其通常的功能是在存儲位置 復制在線文件系統數據,以及保存有關該數據的位置和過時的跟蹤信息。如 果數據的在線副本丟失或損壞了, DBRS100可以再生該數據。當運行 DBRSIOO的網絡出現故障時,DBRS100可以再生所有的DBRS100文件系統,將它們恢復到其當初被寫入存儲時各自的原始結構。DBRS100的示例性實施例包括三個基本組件備份服務器102, 一個或 多個客戶機104、 105、 106、 107和108,以及數據的備份巻110。其中備份服 務器102和客戶機104、 105、 106、 107和108是配有運行DBRS100操作所需軟 件的實體。備份服務器102包括編配和管理DBRS100功能的程序和服務,客 戶機104、 105、 106、 107、禾口108包括執行DBRS100功能的程序和服務。備份服務器102為其客戶機組,例如客戶機104、 105、 106、 107和108管 理數據。例如,客戶機104、 105、 106、 107和108代表在網絡上傳輸文件以 進行備份的機器。備份服務器102可以結合不同的備份組112、 114和116來編 配客戶機/數據。備份組是指被作為一個組備份到一起的客戶機和/或數據組。 單個客戶機可以被包括到多個備份組中,如圖示的備份組112和備份組114之 中。DBRS100依靠數據跟蹤信息來管理自客戶機104、 105、 106、 107和108 中備份的數據,該數據跟蹤信息在圖1中由備份服務器102的文件索引118和 介質數據庫120表示。文件索引118和介質數據庫120中的輸入項保存內容和
位置信息,該內容和位置信息用以描述已經在DBRS100環境中備份的所有數 據(客戶機的機器和文件這兩者)。文件備份服務器102的文件索引118是對應每個客戶機而編配的備份文 件的瀏覽目錄。網絡中每個客戶機的每個備份文件都在索引中被列出。文件 索引118的輸入項包括文件信息,例如文件類型、文件備份時間以及和該文 件有關的例如存放(hosting)初始文件的客戶機等其他信息。因為一個文件 可以被多次備份,而那些備份副本可以存儲在多個位置,文件索引118和介 質數據庫120中針對客戶機文件的輸入可以包括有關每一次文件備份的備份 位置和備份時間的信息。文件索引118和介質數據庫120中與某一特定文件有 關的多個備份位置和多個備份時間的信息可以使用戶識別出待檢索文件的 某一特定版本。有關一個文件的多次備份的輸入項信息可以在文件索引118 中保留由管理員決定的任意長的時間。當文件索引118對單個文件進行跟蹤時,介質數據庫120對文件存儲的位 置進行跟蹤。換句話說,介質數據庫120中包括有關介質存儲位置的參考信 息。在運行中,每次當備份組112、 114或116被備份到DBRS100的存儲巻上 時,介質數據庫120接收一個輸入項。正如文件索引118的輸入項一般,其輸 入項將會一直保留在介質數據庫120中,直到管理員刪除該輸入項。如果其 對應的數據己經被重寫,介質數據庫120中的輸入項也是可以刪除的。當獲得有關數據的位置信息時,數據可以以不同的方式存儲。例如,數 據可以存儲在例如磁帶驅動器,磁盤或可擦除磁盤等可以被服務器102存取 的設備的介質巻上,如圖1所示,或者也可以以遠程服務器的方式進行存取。 在一個備份數據系統示例中,數據被存儲在如備份巻110以及備份設備126、 128、 130和132等設備巻實例上, 一個在設備和巻上存儲數據的實例是在磁 盤陣列中存儲數據,其中數據被分組存儲到各磁盤上。設備和巻上存儲數 據的另一個實例是在磁帶驅動器中存儲數據,其中數據被分組存儲到預定的 各磁帶巻上。在設備和巻上存儲數據的最后一個實例是在遠程服務器中存儲 數據,其中數據被分組存儲到服務器的各硬盤中。雖然這些實例有助于了解 設備和巻的可能配置,但是DBRS100在設備和巻上存儲數據的能力并非局限 在給出的實例內。最普遍的看法是,備份設備126、 128、 130和132給出的是 數據存儲方式的概念模型,而這些數據存儲方式并非局限于特定的系統或設 備°DBRS100中的備份設備126、 128、 130和132的效用因備份設備126、 128、 130和132可以存儲各種不同類型數據的能力而進一步增強。具體來說,備份 設備126、 128、 130和132可以包括任何文件類型的數據。例如,圖形文件、 程序執行文件和文檔文件的備份副本可以在備份設備126、 128、 130和132中一起存儲。備份設備126、 128、 130和132的一個基本特性是,備份設備126、 128、 130和132可以加速DBRS100中備份文件的檢索。例如,當用戶請求對備份文 件進行恢復時,如果文件索引和文件的介質數據庫輸入項包含高度具體的位 置信息,則DBRS100可以很快地檢索文件,上述位置信息包含有關備份設備 126、 128、 130和132的參考信息,以及所使用的具體介質例如,磁帶,CD, DVD或用來存儲文件的其他介質。關于備份設備126、 128、 130和132的許多特性,包括備份,DBRS100最 初的配置是獨立執行各功能。不過,管理員有許多控制DBRS100功能的權限, 如管理員可以針對不同的客戶機和/或文件特性來隔離存儲文件,以及可以判 定在什么時候備份巻已經被不再使用并且應該被刪除。例如,自備份生成起, 經過一個預定時段之后,管理員可以配置DBRS 100以把備份巻從介質數據庫 120刪除。管理員還可以定義備份組112、 114、和116,其可以包括一個或多 個客戶機及其文件、目錄、或文件系統、或客戶機上所有文件。當對客戶機104、 105、 106、 107和108進行存取時,管理員可以在管理 員圖形用戶接口GUI(未顯示)內工作。管理員GUI可以在任何DBRS 1 OO機器上 顯示,無論是什么用戶平臺,都允許管理員對任何客戶機104、 105、 106、 107或108進行連接和代理(broker)服務。管理員權限的另一個重要部分包 括可以具體規定應用環境的能力。例如,管理員可以生成記錄,該記錄指定 例如DBRS100將要使用的備份設備和限定的客戶機的序號等的指令。管理員 也可以規定在備份和恢復環境下強制應用的規則,包括備份進度表,以及數 據在被重復使用前將被保護多久。除了管理員權限之外,DBRS100還引入一個系統以恢復丟失數據。當用 戶數據丟失或損壞時,用戶或管理員可以瀏覽文件索引118中的可恢復文件, 然后生成狀態報告,以描述通過介質數據庫120跟蹤的、備份設備126、 128、 130和132上的巻內內容中的丟失數據或位置。然后用戶可以及時將丟失數據 恢復到用戶指定點。當請求恢復丟失數據時,DBRS100定位所要尋找的數據 并指示文件的恢復。數據可以被恢復到原來保存該數據的客戶機104、 105、 106、 107或108上,或其他指定的客戶機上。此外,DBRS100可以在不同類型的環境中實施而且可以在多個不同平臺 上運行。例如,UNIX服務器上的備份軟件可以支持windows客戶機,反之亦 然。無論服務器平臺是什么,涉及一個客戶機的任何設備或巻內的備份數據 均可以被讀出,并且該設備和巻的數據可以被任何DBRS100服務器及時再生 到用戶指定點。而無論客戶機104、 105、 106、 107或108的平臺是什么,來 自任何系統客戶機104、 105、 106、 107或108的備份數據可以在某單個備份 設備或單個介質組上共存。n.動態備份系統和方法A.示例性鏡像系統的組件上述的DBRS100示例在網絡上智能地存儲和檢索文件。除了上面討論的 示例性系統功能之外,該示例性系統可以支持多種其他的應用和特性。其中 一個應用包括用以解釋數據庫鏡像的數據庫備份的特性。圖2顯示一個示例性數據庫鏡像系統200。該數據庫鏡像系統200包括數 據庫服務器202和數據庫服務器204。數據庫服務器202和數據庫服務器204中 的一個被指定為主服務器,而另一個被指定為副服務器。當數據庫服務器202 被指定為主服務器時,位于服務器202上的用戶數據庫206是實時數據庫(live database)。類似地,當數據庫服務器204指定為副服務器時,用戶數據庫208 是鏡像數據庫(mirror database)。除了用戶數據庫206和208之外,數據庫服務器202和數據庫服務器204分 別包括系統數據庫210和212,系統數據庫210和212包括用以將用戶數據庫 206和208設定為"實時"或"鏡像"數據庫的信息。當用戶數據庫206和208 配置成參與數據庫鏡像時,服務器應用214和216分別更新在數據庫服務器 202和數據庫服務器204上安裝的系統數據庫210和212,以使其包含所有有關 用戶數據庫206和208作為"實時"或者"鏡像"中的一個的狀態信息。在此 初始設置之后,在系統數據庫210和212上的所有包括有關用戶數據庫206和 208作為"實時"或"鏡像"的狀態的信息被服務器應用214和216保存。每一
個服務器應用214和216監測用戶數據庫206和用戶數據庫208的狀態,并記錄 與服務器應用有關的系統數據庫中每一個用戶數據庫206和用戶數據庫208 的狀態。例如,當用戶數據庫206的狀態從"實時"轉為"鏡像"時,用戶 數據庫206的狀態改變被服務器應用214監測到并被記錄在系統數據庫210 中。用戶數據庫208從"鏡像"轉換到"實時"的即時狀態變化也被服務器 應用214檢測和在系統數據庫210中記錄。類似地,當用戶數據庫208從"鏡 像"轉換到"實時"時,用戶數據庫208的狀態改變同樣被服務器應用216監 測并記錄在系統數據庫212中。用戶數據庫206從"實時"轉換到"鏡像"的 即時狀態變化也被服務器應用216監測并記錄在系統數據庫212中。服務器應用214和216監測用戶數據庫206和208的狀態變化,服務器應用 模塊218和220管理數據庫鏡像系統200中用戶數據庫206和208的狀態信息。 一個模塊,例如服務器應用模塊218和220,是可以運行某個功能如用戶數據 庫的備份和/或恢復的編碼塊。例如,由一個模塊運行的功能可以是微軟SQL 服務器數據庫的備份和/或恢復,此時用戶數據庫206和208是微軟SQL服務器 數據庫,并且服務器應用214和216是微軟SQL服務器應用。雖然本發明可以 和微軟SQL服務器一起使用,但本發明的范圍不能被局限于使用微軟SQL服 務器,而是可以擴充到能與此處揭示的系統、設備和程序兼容的任何其他服 務器。服務器應用214和216的每一個均與一個特定的服務器應用模塊相關。此 外,服務器應用模塊218與服務器應用214相關,且服務器應用模塊220與服 務器應用216相關。在數據庫服務器202上,服務器應用模塊218詢問系統數 據庫210的狀態信息,以判斷用戶數據庫206是實時用戶數據庫還是鏡像用戶 數據庫。同樣,在數據庫服務器204上,服務器應用模塊220詢問系統數據庫 212的狀態信息,以判斷用戶數據庫208是實時用戶數據庫還是鏡像用戶數據 庫。在數據庫鏡像系統200內備份實時用戶數據庫之前,服務器應用模塊218 和220中的一個首先識別當前的實時用戶數據庫。在備份操作期間,服務器應用模塊218和220不僅用以判定實時用戶數據 庫,服務器應用模塊218和220還相互傳輸信息以協調并管理在備份和恢復操 作期間的鏡像關聯。當服務器應用模塊218或220被與圖1所示的備份服務器 102對應的備份服務器221調用時,服務器應用模塊218和220可以檢測用戶數
據庫206的和208的設置的改變。進而,服務器應用模塊218和220彼此傳輸關 于用戶數據庫206和208的指定改變的信息。在服務器應用模塊218和220彼此 傳輸信息之后,服務器應用模塊218再將用戶數據庫206和208的指定改變傳 輸到備份服務器221 。備份服務器221就能夠在備份數據庫服務器的相關保存 集(saveset)內將有關用戶數據庫206和208的指定信息更新,并詢問與實時 數據庫對應的服務器應用模塊218或220,以實現備份操作。假設發生了故障恢復(failover),該故障恢復導致用戶數據庫206的狀 態從"實時"改變為"鏡像",舉例說明為了完成備份和恢復操作,服務器 應用模塊218和220彼此之間是如何傳輸信息,以及隨后與備份服務器221是 如何傳輸信息的。當服務器應用模塊218在故障恢復發生后被調用時,服務 器應用模塊218與服務器應用模塊220傳輸針對用戶數據庫206的狀態信息, 服務器應用模塊218從服務器應用模塊220獲知該用戶數據庫208是當前的實 時數據庫,同時服務器應用模塊218也告知服務器應用模塊220此時用戶數據 庫206是鏡像數據庫。在與服務器應用模塊220傳輸信息之后,服務器應用模 塊218與備份服務器221傳輸信息,將用戶數據庫206和用戶數據庫208的狀態 改變告知備份服務器221 。然后備份服務器221在備份于數據庫鏡像系統200 中的數據庫服務器的保存集信息中記錄被修改的狀態信息。這一程序被稱為 探測,用于定位實時數據庫。在數據庫鏡像系統200內開始備份操作之前,必須首先確定實時數據庫 的位置。當啟動備份操作之后,可以連接位于數據庫服務器202上的服務器 應用214和位于數據庫服務器204上的服務器應用216中的任何一個以定位實 時用戶數據庫。備份操作可以由用戶或備份服務器221啟動。備份服務器221 與服務器應用模塊218或220連接,而后者可以與服務器應用214或216連接, 以判定用戶數據庫206和208的狀態。與實時用戶數據庫206或208對應的服務 器應用模塊218或220運行備份操作。用戶數據庫206和208的狀態通過從系統 數據庫210和212中讀入的信息而確定。例如,如果備份服務器221與服務器 應用模塊218連接,服務器應用模塊218通過連接服務器應用214而執行讀入 系統數據庫210的表格輸入項的功能。類似地,如果備份服務器221與服務器 應用模塊220連接,服務器應用模塊220通過連接服務器應用216而執行讀入 系統數據庫212的表格輸入項的功能。系統數據庫210和212的表格輸入項包
含有關用戶數據庫206和208的狀態信息。每個系統數據庫210和212包含數據 庫鏡像系統200中的每個用戶數據庫206和208的狀態信息。例如,系統數據 庫210可以包含有關用戶數據庫206作為"實時"用戶數據庫,以及用戶數據 庫208作為"鏡像"用戶數據庫的狀態信息。在系統數據庫210和212包含的 有關每一個用戶數據庫206和208的信息允許備份服務器通過連接位于數據 庫服務器202和204上的服務器應用模塊218和220中的僅其中之一而獲得有 關實時數據庫的位置信息。假設用戶數據庫206是當前的實時用戶數據庫,而用戶數據庫208是當 前的鏡像數據庫,舉例說明在備份操作期間數據庫鏡像系統200內運行的功 能。當啟動備份操作之后,備份服務器221與位于數據庫服務器204上的服 務器應用模塊220連接,然后服務器應用模塊220通過與服務器應用216連 接而讀入系統數據庫212的表格輸入項。系統數據庫212的表格輸入項指示 用戶數據庫208是鏡像數據庫,而用戶數據庫206是實時數據庫。服務器應 用模塊220會將此信息返回給備份服務器102。然后,因為用戶數據庫206 是當前的實時數據庫,備份服務器102對該用戶數據庫206進行備份。請參考圖l,在備份實時用戶數據庫之后,存有實時用戶數據庫的數據 庫服務器的名稱被記錄到位于備份服務器102上的文件索引118中。在文件索 引118中對實時用戶數據庫制作的輸入項是實時輸入項(live entry)。而存有 鏡像數據庫的數據庫服務器的名稱也被記錄在文件索引118中。在文件索引 118中對鏡像用戶數據庫制作的輸入項被稱為別名輸入項(alias entry)。通 過記錄在進行預定備份時每個用戶數據庫的狀態,文件索引118中的輸入項 使得能夠重組備份鏈,并在需要恢復實時用戶數據庫的情形中,提供一個可 以很容易地識別實時用戶數據庫的方法。請回到附圖2,從上面可以注意到,為了讓備份服務器102(圖1)可以對實 時用戶數據庫進行備份,在數據庫鏡像系統200內對用戶數據庫206和208的 狀態進行跟蹤。當數據庫服務器202和204分別包括用以跟蹤用戶數據庫206 和208的狀態的系統數據庫210和212時,也可以在數據庫鏡像系統200內引入 見證數據庫服務器(witness) 222以跟蹤用戶數據庫206和208的狀態。例如, 當用戶數據庫206的狀態從"實時"數據庫轉換到"鏡像"數據庫時,見證數 據庫服務器222通過將用戶數據庫206的當前狀態記錄到系統數據庫224中而
跟蹤該變化。類似地,當用戶數據庫208的狀態從"鏡像"數據庫轉換為"實時"數據庫時,見證數據庫服務器222在系統數據庫224內對用戶數據庫208 的狀態變化進行跟蹤。這樣,系統數據庫224分別運行與位于數據庫服務器 202和204上的系統數據庫210和212類似的功能。見證數據庫服務器222和數據庫服務器202之間的另一個相似點在于,與 數據庫服務器202和204相似,見證數據庫服務器222包括有服務器應用226和 服務器應用模塊228。服務器應用226運行類似在服務器應用214和216上運行 的功能。即,服務器應用226被存有用戶數據庫206和208的狀態的服務器應 用214和216更新,并且在系統數據庫224中保存此信息的記錄。服務器應用 模塊22S,與服務器應用模塊218和220類似,也通過與服務器應用模塊218和 220傳輸信息而獲得用戶數據庫206和208的狀態信息,并且服務器應用模塊 228也通過與服務器應用226連接而檢索來自系統數據庫224的此信息。除了跟蹤用戶數據庫206和208的狀態之外,見證數據庫服務器222還可 以運行其他功能。例如,見證數據庫服務器222可以參與到數據庫鏡像系統 200的角色指定中。具體來說,見證數據庫服務器222可以參與將實時數據庫 的角色指定給用戶數據庫206,將鏡像數據庫角色指定給用戶數據庫208。角 色的指定以實時數據庫服務器202、鏡像數據庫服務器204和見證數據庫服務 器222中的多數一致的信息為根據。更具體地,見證數據庫服務器222可以判 別用戶數據庫206和用戶數據庫208在不同角色間的變化。見證數據庫服務器 222可以在數據庫鏡像系統200內驅動自動故障恢復以及伴隨的用戶數據庫 206和208的狀態改變。例如,如果當故障恢復發生而用戶數據庫206是實時 數據庫時,見證數據庫服務器222立刻將實時數據庫的角色指定給用戶數據 庫208并且將用戶數據庫206的角色改變為鏡像數據庫。通過判別用戶數據庫 206和208角色的改變,見證數據庫服務器222確保在發生故障恢復時沒有數 據丟失。如果在數據庫鏡像系統200中沒有見證數據庫服務器222, 一個用戶 可以選擇驅動故障恢復并將用戶數據庫206的角色指定為實時數據庫,將用 戶數據庫208的角色指定為鏡像數據庫。如圖2所示,雖然數據庫鏡像系統可以僅僅包括主服務器202、副服務器 204和見證數據庫服務器222,但鏡像數據庫也可以有很多其他結構。如圖3 所示,既沒有針對可以被鏡像的不同數據庫的數量的限制,也沒有針對存放
鏡像數據庫的數據庫服務器之間的關聯的限制。例如,第一數據庫服務器302可以存放實時數據庫"A" 304,也可以存放鏡像數據庫n'306。第二數據庫 服務器308可以存放實時數據庫"B"310,也可以存放鏡像數據庫A'312。在 這個實例中,保存在第二數據庫服務器308上的鏡像數據庫A' 312與保存在第 一數據庫服務器302上的實時數據庫A304聯系在一起。但是,與實時數據庫 B310聯系在一起的鏡像數據庫B' 314,不是保存在第一數據庫服務器302上, 而是改為保存在第三數據庫服務器316上。除了存放鏡像數據庫B' 314之外, 第三數據庫服務器316還存放實時數據庫C318。最后,第n數據庫服務器320 存放實時數據庫n 322和鏡像數據庫(n-l)' 324。圖3舉例說明在多個數據庫服 務器上的實時和鏡像數據庫的一個示例性實施例的結構。此外,任何數據庫 服務器302、 308、 316或320都可以作為任何數據庫的見證服務器。然而,在 任意數量的數據庫服務器上可以有任意數目的實時數據庫和鏡像數據庫的 不同結構,并且可以被本發明的實施例實現。本發明的范圍并不限于與在預 定服務器上保存的實時數據庫和鏡像數據庫的任何特定組合相聯系而應用。在此揭示的備份數據的方法的實例在美國專利申請號11/080, 229、名稱 為"Systems and Methods for Dynamic Data Backup" (Workman Nydegger案號 16192丄1沖公開,該專利申請在本專利申請的同一日申請,并通過參考援引 于此。B.鏡像功能請再參閱圖2,模塊218、 220和228以及用戶數據庫206和208是數據庫鏡 像系統200的模塊的示例。模塊218、 220和228以及用戶數據庫206和208配置 成以如下方式協作允許數據從數據庫鏡像系統200的數據庫206和208進行 備份。如前所述,在一個數據庫鏡像系統200的示例中至少包括二個數據庫服 務器202和204,以及用戶數據庫206和用戶數據庫208。在包括兩個或更多數 據庫服務器202和204的網絡中,用戶數據庫206和用戶數據庫208中的任何一個均可以被指定為實時用戶數據庫或鏡像用戶數據庫中的任意一個。雖然用 戶數據庫206最初被指定為實時用戶數據庫,而用戶數據庫208最初被指定為鏡像用戶數據庫,但對預定數據庫的指定可以隨時改變。因此,"實時"和 "鏡像"的角色可以被動態地重新指定。例如,保存在數據庫服務器202上的
用戶數據庫206可能最初是被指定為實時用戶數據庫。隨著保存在數據庫服務器202上的用戶數據庫206被指定為實時用戶數據庫,保存在數據庫服務器 204上的用戶數據庫208就被指定為鏡像用戶數據庫。隨后,各用戶數據庫206 和208的角色可以被改變,對用戶數據庫206的指定將從"實時"變成"鏡像", 同時對用戶數據庫208的指定將從"鏡像"變成"實時"。在網絡中,各用戶數 據庫206和208的角色可以根據任意個數的理由而改變,這些理由例如是保存 被指定為實時用戶數據庫的用戶數據庫206的數據庫服務器202發生故障,不 同的用戶數據庫角色的預定改變,或通過一個附加的數據庫服務器(例如見 證數據庫服務器222)或其他的系統設備進行的判別結果。被包括在數據庫鏡像系統200中的用戶數據庫可以被指定為實時用戶數 據庫或鏡像用戶數據庫,而保存有用戶數據庫的客戶機也可以被指定為"實 時"客戶機或"鏡像"客戶機。當保存其上的用戶數據庫被指定為實時用戶數 據庫時,客戶機被稱為實時客戶機;而當保存其上的用戶數據庫被指定為鏡 像用戶數據庫時,客戶機被稱為鏡像客戶機。在鏡像數據庫的系統200內,不僅用戶數據庫206和208的角色隨著時間 而動態地改變,并且這些角色并不是隨意而定的,而是與不同的用戶數據庫 206和208所運行的預定功能有關。具體來說,數據庫鏡像系統200之所以指 定用戶數據庫206為"實時",是因為在系統中,該用戶數據庫206是主動工 作的數據庫。在進行備份操作時,被指定為實時用戶數據庫的用戶數據庫206 是數據庫鏡像系統200中被備份的數據庫。同時,用戶數據庫208,當被指定 為鏡像用戶數據庫時,是被動的,只要被指定為鏡像用戶數據庫,該用戶數 據庫208就不直接介入備份操作。雖然被指定為鏡像用戶數據庫的用戶數據庫208不直接介入備份操作, 但是數據庫鏡像系統200可能需要被指定為鏡像用戶數據庫的用戶數據庫 208隨時轉換角色,以擔當實時用戶數據庫的角色。為此,每次當被指定為 鏡像數據庫的用戶數據庫206的表格被修正時,被指定為鏡像用戶數據庫的 用戶數據庫208都要接收和存儲與數據庫更新有關的信息。g卩,只要用戶數 據庫208被指定為鏡像用戶數據庫,用戶數據庫208就要"鏡像"被指定為實 時用戶數據庫的用戶數據庫206中的輸入項,以保存被指定為實時用戶數據 庫的用戶數據庫206所有數據的最新記錄。這樣,在數據庫鏡像系統200需要
用戶數據庫208的角色從鏡像轉換為實時用戶數據庫的情形下,沒有用戶數 據庫信息被丟失或變得無法存取。因為當用戶數據庫206的功能為實時用戶 數據庫時,所有出現在用戶數據庫206中的信息也會在用戶數據庫208中出 現,此時用戶數據庫208的功能就是鏡像用戶數據庫。作為執行諸如在此公開的數據庫鏡像處理的標準示例,在本申請中通過 參考援弓I標準型微軟SQL服務器2005(編號名稱Yukon)。在一個實施例示例 中,本發明可以結合微軟SQL服務器2005(Yukon)數據庫實施。然而,本發明 也可以適用或期望用于其他應用,本發明的范圍并限于結合微軟SQL服務器 2005(Yukon)的應用。C.鏡像環境下的數據庫恢復操作數據庫系統的鏡像功能為需要恢復丟失數據庫的客戶機提供了附加的 管理和邏輯(logistical)選擇。如圖1所示,DBRS100是一個可以運行備份和 恢復操作的數據庫系統的實例,當然本發明的范圍并不受DBRS100或任何特 定數據庫系統的局限。數據庫系統的鏡像特性能夠生成這樣一個環境,在其 中總有可用的數據庫,所以對客戶機而言總有可以存取的數據庫。客戶機, 也稱為數據庫服務器,是鏡像數據庫系統內的計算機,用戶或管理員通過所 述計算機進行數據庫的存取、備份和恢復。在一個包含了客戶機的數據庫鏡 像系統中,客戶機無需具有在實時數據庫和鏡像數據庫之間轉換角色的知 識。當用戶想啟動恢復操作時,假定鏡像關聯存在,則鏡像系統數據庫中客 戶機之間的鏡像關聯被終止,數據庫信息在恢復服務器中被檢索,數據庫被 再生于在數據庫鏡像系統中的客戶機上。然后鏡像關聯被重建,恢復程序完 成。現在請參閱圖4,其中提供了數據庫恢復系統400的細節,利用該數據庫 恢復系統400可以運行示例性的數據庫恢復操作。當數據庫恢復系統400中的 客戶機402希望再生用戶數據庫時,客戶機402與恢復服務器404傳輸信息。 除了作為恢復服務器之外,恢復服務器404在數據庫鏡像系統100內的備份操 作期間還可以作為備份服務器102(如圖1所示)。客戶機406,以及可選擇的見 證客戶機408,也被設置在數據庫恢復系統400中,而且能與恢復服務器404 傳輸信息以再生用戶數據庫。除此之外,數據庫恢復系統400內的客戶機402 和406是鏡像伙伴。如客戶機402和406的鏡像伙伴之間的關聯的稱為動態鏡
像關聯,其被定義為一種關聯,其中位于例如客戶機402和406等客戶機上的 用戶數據庫的實時和鏡像角色指定能夠隨著時間而動態地改變。雖然客戶機402和406、以及見證客戶機408中的每一個都可以設置于數 據庫恢復系統400中,但在單個恢復操作期間,恢復服務器404僅僅處理來自 客戶機402、客戶機406或見證客戶機408的一個恢復請求。不過,從客戶機 402、 406或見證客戶機408向存儲服務器404發出的請求可以涉及多個數據庫 的再生。多個數據庫可以在客戶機402上同時再生。具體而言,正如圖3所示 以及與如圖3對應的說明所描述的,客戶機402可能是多個鏡像關聯中的鏡像 伙伴。由此,在恢復操作期間,其鏡像關聯涉及客戶機402的任何一個數據 庫都可以在上再生。如果有客戶機402同時涉及多個鏡像關聯中,則多個數 據庫就可以在進行單一恢復操作時在客戶機402上再生。數據庫恢復系統400的恢復操作被存取客戶機402、 406或408的用戶或管 理員啟動。由用戶或管理員進行存取的客戶機被稱為"當前客戶機"。在下 面的討論中,當前客戶機是客戶機402。但很顯然,當前客戶機既可以是客 戶機406也可以是408。因為下面的討論中客戶機402是當前用戶,就由位于 客戶機402上的模塊410啟動模塊功能,當然,如果客戶機406或408是當前客 戶機,位于客戶機406和408之上的模塊424或426中的任何一個都分別可以啟 動數據庫恢復系統400的模塊功能。當恢復操作被啟動后,假定鏡像關聯存在,則分別位于客戶機402、 406 和408上的模塊410、 424和426必須終止數據庫恢復系統400中的客戶機402、 406和408之間的鏡像關聯。首先,位于當前客戶機402上的模塊410控制同樣 位于當前客戶機402上的服務器應用420,以終止其鏡像關聯。然后服務器應 用420重寫系統數據庫422內的鏡像關聯信息。模塊410也發指令給模塊424和 426來分別控制服務器應用428和430,以終止在客戶機402、 406和408之間的 鏡像關聯。隨后,模塊424和426分別控制服務器應用428和430,以終止其鏡 像關聯。服務器應用428重寫系統數據庫432中包含的鏡像關聯信息,服務器 應用430重寫系統數據庫434中包含的鏡像關聯信息。 一旦系統數據庫422、 432和434的鏡像關聯信息被重寫,客戶機402、 406和408之間的鏡像關聯就 被終止。當啟動恢復操作后,存取當前客戶機的用戶或管理員必須選擇用戶或管 理員希望再生的數據庫的備份版本。每次當用戶數據庫被備份后,數據庫的不同版本可以通過恢復服務器404完成備份。因此,恢復服務器404可以存取 數據庫的任何數目的不同版本的備份副本。例如,用戶數據庫的備份可能在 第1天發生于時間A、 B、和C,在第2天發生于時間D、 E和F,在第3天發生 于時間H和G。這些天數和時間的每一個均代表一個特定的用戶數據庫的備 份版本。希望再生用戶數據庫的用戶或管理員必須選擇再生這些版本中的那 一個。例如,用戶或管理員可以決定,其希望再生的用戶數據庫版本是在第 3天的G時間備份的版本。當啟動恢復操作后,當前客戶機將會從恢復服務器 404中請求第3天G時間備份的用戶數據庫。用戶或管理員選擇再生的用戶數 據庫的特定備份版本也被稱為"目標數據"。有關目標數據的信息,以及所有通過恢復服務器404完成備份的用戶數 據庫的版本,被包含在位于恢復服務器404上的文件索引412和介質數據庫 414中。存取當前客戶機的用戶或管理員并不需要獨立地知道用戶或管理員 希望再生的目標數據。通過位于客戶機402上的模塊410,用戶或管理員存取 位于恢復服務器404上的文件索引412和介質數據庫414,并可以檢査文件索 弓I412和介質數據庫414所包含的信息。通過檢査包含在文件索引412和介質 數據庫414中的有關用戶數據庫備份版本的信息,用戶或管理員可以識別出 目標數據。文件索引412和介質數據庫414中的信息包括所有用戶數據庫的備 份版本的識別特性,例如,備份運行日期,備份運行時間,以及用戶數據庫 特定備份版本的存儲位置。在文件索引412中包含的每個用戶數據庫的備份版本的信息還包括在 運行用戶數據庫的備份操作時存放用戶數據庫的客戶機的狀態。例如,如果 在對目標數據進行備份時,客戶機402是實時客戶機,文件索引412將包含一 個客戶機402的實時輸入項。同理,如果在對目標數據進行備份時,客戶機 402是鏡像用戶,文件索引412將包含一個客戶機402的別名輸入項。因為對 客戶機402是實時客戶機還是鏡像客戶機的指定將決定位于客戶機402上的 用戶數據庫416是被指定為實時用戶數據庫還是鏡像用戶數據庫,所以文件 索引412中的實時輸入項和別名輸入項可以表示在備份操作時,用戶數據庫 416是被指定為實時還是鏡像數據庫。當運行目標數據的備份時,文件索引 412中有關客戶機402的指定信息,以及有關客戶機406和408的指定信息,對
再生目標數據后在數據庫恢復系統400內重建鏡像關聯而言變得很重要。下面將討論鏡像關聯重建的更具體的細節。如上所知,位于客戶機402上的模塊410對文件索引412、恢復服務器404 和介質數據庫414進行存取,以使用戶或管理員識別目標數據并獲取目標數 據的信息。當位于客戶機402上的模塊410己經完成文件索引412中包含的信 息的存取之后,模塊410從恢復服務器404請求目標數據。恢復服務器404定 位并檢索目標數據,并將目標數據傳輸至信息給模塊410。在目標數據已經 被檢索之后,模塊410向服務器應用420傳輸目標數據信息,然后服務器應用 420利用該目標數據再生用戶數據庫416。除了與服務器應用420傳輸信息之外,模塊41 O還分別與客戶機406和408 中的模塊424、 426傳輸信息。具體地,模塊410將經由恢復服務器404檢索的 目標數據的信息傳輸到模塊424和426。然后模塊424將接收到的目標數據傳 輸到服務器應用428,隨后服務器應用428利用該目標數據再生用戶數據庫 418。因為位于客戶機408上的服務器應用430并沒有包括用戶數據庫,所以 模塊426不會向客戶機408傳輸目標數據。用戶數據庫416和418分別被服務器 應用420和428使用同一個目標數據再生,因此,只要用戶數據庫416和418已 經被再生,用戶數據庫416和418中的每一個都包括目標數據的同一副本。然 而,在數據庫恢復系統400內啟動恢復操作的用戶也可能只選擇恢復一個用 戶數據庫,如用戶數據庫416,而保留用戶數據庫418,因此用戶數據庫418 不被重寫。在用戶數據庫416和418再生之后,客戶機402、 406和408之間的鏡像關 聯被重建。在發生備份操作時從文件索引412經由模塊410獲得的有關客戶機 402、 406、和408的指定信息,被用于重新指定客戶機402、 406和408為實時、 鏡像、或見證客戶機。如果由模塊410從文件索引412獲得的有關當前客戶機 402的指定信息表示在進行備份操作時當前客戶機402曾經是實時客戶機,那 么當前客戶機402將被重新指定為實時客戶機。對當前客戶機402作為實時客 戶機的重新指定暗含地包括對用戶數據庫426作為實時用戶數據庫的重新指 定。如果包含在文件索引412的信息表示在目標數據備份時當前客戶機402曾 經是鏡像客戶機,則用戶可以選擇重新指定客戶機402為鏡像客戶機,因此 也重新指定用戶數據庫416為鏡像用戶數據庫。
雖然模塊410已經獲得有關客戶機402、 406和408作為實時、鏡像、或見 證的信息,但鏡像關聯并沒被重建,直到服務器應用420、 428、和430將角 色指定信息分別寫入系統數據庫422、 432和434。模塊410,在已經獲得來自 文件索引412的角色指定信息后,向服務器應用420傳輸角色指定信息。然后 服務器應用420將該角色指定信息寫入系統數據庫422。模塊410將角色指定 信息傳輸給模塊424和426,模塊424和426分別與服務器應用428和430傳輸信 息。然后服務器應用428和430將該角色指定信息分別寫入系統數據庫432和 434。角色指定信息表示在進行目標數據備份時客戶機402曾經是實時客戶機 而客戶機406曾經是鏡像客戶機。該角色指定信息也同樣表示當運行目標數 據備份時,位于客戶機402上的用戶數據庫416被指定為實時用戶數據庫,以 及位于客戶機406上的用戶數據庫418被指定為鏡像用戶數據庫。當角色指定 信息被服務器應用420、 428和430分別寫入系統數據庫422、 432、和434之后, 客戶機402和406被重新指定為實時客戶機402和鏡像客戶機406。當文件索引 中的信息指出客戶機408既不是實時用戶也不是鏡像用戶時,客戶機408就被 重新指定為見證客戶機。在數據庫恢復系統400中運行的恢復程序的細節描 述包括在在下面針對圖5的討論。請參閱圖5,在一個數據庫恢復系統,例如數據庫恢復系統示例400中運 行的示例恢復程序500中,示范了客戶機之間的鏡像關聯是如何被終止,用 戶數據庫信息如何在客戶機上再生,以及客戶機間的鏡像關聯是如何被重建 的。恢復程序500出現于在數據庫恢復系統內存在、并參與其鏡像關聯的每 個客戶機上。此外,組成恢復程序500的步驟是示例性的,而且其運行次序 可以改變以適用于恢復程序500的任何特定應用。當存取客戶機的用戶或管 理員請求恢復操作時,程序500從步驟502開始。在步驟503中判別數據庫恢 復系統的客戶機之間存在還是不存在鏡像關聯。如果存在鏡像關聯,則終止 在數據庫恢復系統的客戶機之間的鏡像關聯如步驟504所示。當位于每個客戶機上的服務器應用重寫存在于服務器應用中的系統數據庫時,鏡像關聯被 終止。如果客戶機之間不存在鏡像關聯,那么在步驟506中,在數據庫恢復 系統中位于客戶機上的模塊存取位于恢復服務器上的文件索弓I和介質數據 庫中包含的信息。該模塊從文件索引和介質數據庫獲得的信息包括由恢復服 務器恢復的不同備份版本的識別信息和角色指定信息。
由該模塊獲得的識別信息,可以幫助存取該模塊所位于的客戶機的用戶 或管理員識別用戶或管理員希望恢復的備份數據庫或目標數據的預定備份 版本。
一旦用戶數據庫數據再生,角色指定信息將允許鏡像關聯被重建。繼續參考存儲程序500,在步驟508中,用戶或管理員識別待再生的目標 數據。然后在步驟510中,客戶機讀出文件索引的輸入項以識別角色指定信 息。在步驟512中,由模塊判別該模塊所位于的客戶機是否與作為實時輸入 項的目標數據的文件索引輸入項中列出的客戶機相匹配。如果客戶機與實時 輸入項中列出的客戶機匹配,則存儲程序500繼續,模塊從恢復服務器請求 目標數據,如步驟514所示。恢復服務器檢索目標數據并向模塊傳輸該目標 數據,如步驟516所示。然后模塊向服務器應用傳輸該目標數據,服務器應 用再生位于當前客戶機上的用戶數據庫,如步驟518所示。當模塊向服務器應用傳輸目標數據時,在步驟518中,模塊也將由該模 塊從文件索引中獲得的角色指定信息傳輸到服務器應用中。在步驟520中, 服務器應用寫入位于客戶機上的服務器應用中的系統數據庫的角色指定信 息,并將位于客戶機上的用戶數據庫設定為實時用戶數據庫,同時將該客戶 機設定為實時客戶機。在步驟512中,如果客戶機與文件索引實時輸入中列出的客戶機不匹配 的話,恢復程序500在步驟522繼續,由客戶機判別其是否與文件索引的別名 輸入項中列出的客戶機相匹配。如果客戶機與文件索引的別名輸入項中列出 的客戶機相匹配,恢復程序500繼續步驟524,模塊向恢復服務器請求目標數 據。恢復服務器檢索目標數據并向該模塊傳輸目標數據,如步驟526所示。 然后模塊向服務器應用傳輸目標數據,服務器應用再生位于與模塊和服務器 應用相關聯的客戶機上的用戶數據庫,如步驟528所示。如上所述,當模塊向服務器應用傳輸目標數據時,模塊也將由該模塊從 文件索引獲得的角色指定信息傳輸到服務器應用上,同樣如步驟528所示。 在步驟530中,服務器應用寫入位于客戶機的服務器應用上的系統數據庫的 角色指定信息,并將用戶數據庫設定為鏡像用戶數據庫,同時將客戶機設定 為鏡像客戶機。當模塊存取在文件索引和介質數據庫內包含的信息時,如果模塊確認客 戶機既沒有和文件索引實時輸入項中列出的客戶機、也沒有和文件索引的別
名輸入項中列出的客戶機相匹配,在這種情形下,如步驟532所示,該客戶 機就是見證客戶機。在步驟534中,模塊將從文件索引獲得的角色指定信息 輸送到客戶機的服務器應用中,并且該服務器應用將角色指定信息寫入位于 客戶機上的系統數據庫中。當目標數據再生之后,并且角色指定信息也已經 在數據庫恢復系統的每位用戶的系統數據庫中被寫入之后,鏡像關聯被重 建,恢復程序500完成。因此,示例恢復程序500提供一種從介入鏡像關聯的用戶數據庫中備份 的目標數據進行恢復的方法。通過終止鏡像關聯,恢復和再生丟失的用戶數 據庫信息,并重建數據庫鏡像關聯,本發明的實施例提供一種對已經在動態 數據庫鏡像環境下備份的數據的恢復方法,在該動態數據庫鏡像環境下用戶 數據庫的角色指定可以隨著時間而動態改變。本發明可以用其他特定方式實施而不會背離其精神或主要特點。在所有 方案中描述的實施例都僅僅是示例性的而不是限制性的。因此,本發明的范 圍由附加的權利要求示出,而不是由前面的說明書示出。落入權利要求的等 同方案的內涵和范圍內的所有變換均被包括在其范圍內。
權利要求
1.一種在網絡中恢復備份數據的方法,該網絡包括位于第一客戶機上的第一數據庫,以及位于第二位客戶機上的第二數據庫,該方法包括如下步驟啟動恢復操作請求;終止所述第一數據庫和第二數據庫之間的動態鏡像關聯;識別要恢復的目標數據;生成對該目標數據的位置信息的請求;接收該目標數據的位置的相關位置信息;傳輸對該目標數據的請求;接收該目標數據;在位于所述第一客戶機和第二客戶機上的第一數據庫和第二數據庫中再生該目標數據;以及重建所述第一數據庫和第二數據庫之間的動態鏡像關聯。
2. 如權利要求1所述的方法,其中,該目標數據通過在位于恢復服務器 上的文件索引和介質數據庫中包含的位置信息而被識別。
3. 如權利要求1所述的方法,其中,該動態鏡像關聯通過在分別位于所 述第一客戶機和第二客戶機上的系統數據庫中寫入角色指定信息而被重建。
4. 如權利要求1所述的方法,還包括如下步驟 從文件索引中檢索角色指定信息;以及將該角色指定信息寫入位于所述第一客戶機和第二客戶機上的系統數 據庫中。
5. 如權利要求4所述的方法,其中,該角色指定信息涉及在備份該目標 數據時對第一數據庫和第二數據庫的角色指定。
6. 如權利要求4所述的方法,其中,該文件索引中的實時輸入項表示當 備份該目標數據時在該實時輸入項中列出的第一數據庫或第二數據庫被指 定為實時數據庫。
7. 如權利要求4所述的方法,其中,該文件索引中的別名輸入項表示當 備份該目標數據時在該別名輸入項中列出的第一數據庫或第二數據庫被指 定為鏡像數據庫。
8. 如權利要求1所述的方法,其中,由見證客戶機判別該動態鏡像關聯。
9. 如權利要求1所述的方法,其中,通過將角色指定信息寫入位于所述第一客戶機、第二客戶機和一見證客戶機上的系統數據庫而重建該鏡像關 聯。
10. —種有助于在網絡中恢復備份數據庫的方法,該網絡包括至少兩個客戶機,該方法包括如下步驟 接收對備份數據庫的請求;允許所述至少兩個客戶機之一對包含有動態鏡像關聯信息的文件索引中的輸入項進行存取;識別該備份數據庫的位置; 檢索該備份數據庫;以及將該備份數據庫傳輸到所述至少兩個客戶機之一。
11. 如權利要求10所述的方法,其中,該文件索引中的輸入項記錄當備 份數據庫時數據庫的角色指定。
12. 如權利要求10所述的方法,其中,該文件索引中的實時輸入項表示 當備份數據庫時在該實時輸入項中涉及的數據庫被指定為實時數據庫。
13. 如權利要求10所述的方法,其中,該文件索引中的別名輸入項表示 當備份數據庫時在該別名輸入項中涉及的數據庫被指定為鏡像數據庫。
14. 如權利要求10所述的方法,其中,該備份數據庫的位置是遠程存儲 位置。
15. 如權利要求10所述的方法,其中,對該備份數據庫的檢索還包括如 下步驟存取存儲位置;以及自該存儲位置獲取該備份數據庫的副本。
16. —種計算機程序產品,用以實現在網絡中恢復數據的方法,該網絡 包括位于第一客戶機上的第一數據庫和位于第二客戶機上的第二數據庫,該 計算機程序包括計算機可讀介質,其上載有用以實現包括如下步驟的方法的可執行指令啟動恢復操作請求;終止所述第一數據庫和第二數據庫之間的動態鏡像關聯;識別要恢復的目標數據;生成對該目標數據的位置信息的請求;接收該目標數據位置的相關位置信息;傳輸對該目標數據的請求;接收該目標數據;在位于所述第一客戶機和第二客戶機上的第一數據庫和第二數據庫中 再生該目標數據;以及重建所述第一數據庫和第二數據庫之間的動態鏡像關聯。
17. 如權利要求16所述的計算機程序產品,其中,該目標數據通過位于 恢復服務器上的文件索引和介質數據庫中包含的位置信息而被識別。
18. 如權利要求16所述的計算機程序產品,其中,該動態鏡像關聯通過 在分別位于所述第一客戶機和第二客戶機上的系統數據庫中寫入角色指定 信息而被重建。
19. 如權利要求16所述的計算機程序產品,還包括如下步驟 從文件索引中檢索角色指定信息;以及將該角色指定信息寫入位于所述第一客戶機和第二客戶機上的系統數 據庫中。
20. 如權利要求19所述的計算機程序產品,其中,該角色指定信息涉及 在備份該目標數據時對所述第一數據庫和第二數據庫的角色指定。
21. 如權利要求19所述的計算機程序產品,其中,該文件索引中的實時 輸入項表示當備份該目標數據時在該實時輸入項中列出的第一數據庫或第 二數據庫被指定為實時數據庫。
22. 如權利要求19所述的計算機程序產品,其中,該文件索引中的別名 輸入項表示當備份該目標數據時在該別名輸入項中列出的第一數據庫或第 二數據庫被指定為鏡像數據庫。
23. 如權利要求16所述的計算機程序產品,其中,由見證客戶機判別該動態鏡像關聯。
24. 如權利要求16所述的計算機程序產品,其中,通過將角色指定信息 寫入位于所述第一客戶機、第二客戶機和一見證客戶機上的系統數據庫而重 建該鏡像關聯。
全文摘要
在包括位于第一客戶機上的第一數據庫和位于第二客戶機上的第二數據庫的網絡中,用戶或管理員啟動恢復操作。終止第一客戶機和第二客戶機之間的動態鏡像關聯,并且識別用戶或管理員希望恢復的數據庫的備份副本。當運行備份操作時,第一客戶機或第二客戶機之一從恢復服務器中接收有關數據庫備份副本的位置信息及數據庫的角色指定信息。數據庫的備份副本從存儲位置檢索并再生于第一和第二客戶機的每一個之上,重建第一客戶機和第二客戶機之間的動態鏡像關聯。
文檔編號G06F11/00GK101120319SQ200580048140
公開日2008年2月6日 申請日期2005年12月21日 優先權日2004年12月30日
發明者克雷格·鄧肯, 木 柴, 阿迪蒂亞·卡普爾, 馬聞璐 申請人:伊姆西公司