使用RESTOREHEADERONLY語句可以獲得指定的備份文件或者備份集的標題信息。如果在某個備份設備上有多個備份文件,那么系統返回該設備所包含的全部備份的標題信息,這些信息包括:(1)備份文件或者備份集的名稱和描述信息,(2)所使用的備份介質類型,例如磁帶或者硬盤,(3)所使用的備份方法,例如完全數據庫備份、增量備份、日志備份或者文件備份,(4)執行備份的日期和時間,(5)備份的尺寸大小,(6)在備份文件鏈中某個特定備份的序列號。 使用RESTOREFILELISTONLY語句可以獲得備份文件中包含的數據庫文件或者事務日志文件的信息。執行這條語句有張家口哪有做網站助于避免恢復錯誤的備份文件。當執行該條語句時,系統可以返回下述信息:(1)數據庫文件和事務日志文件的邏輯名稱,(2)數據庫文件和事務日志文件的物理名稱,(3)文件的類型,例如是數據庫文件還是事務日志文件, (4)文件組中包含的成員,(5)以MB表示的備份集的大小尺寸,(6)以MB表示的該文件所允許的最大尺寸。使用RESTORELABELONLY語句可以獲得放置備份文件的備份介質的信息。使用REATOREVERIFYONLY語句可以驗證構成備份集的單個文件是否完整以及所有的備份是否可讀。 在恢復數據庫時,必須了解執行備份時使用的備份方法類型和備份是否存在。即確定備份文件中是否包含希望恢復的數據庫備份,且備份是否有效,是否擁有包含備份集的全部文件或者磁帶。 當從完全數據庫備份中恢復數據庫時,SQLServer系統重新創建數據庫以及與數據庫相關的全部文件,然后把這些文件放到原來的位置上。所有的數據庫對象都由系統自動創建,因此,對于用戶來說,沒有必要在恢復數據庫之前重新創建數據庫。一般在數據庫的物理磁盤文件損壞,或者整個數據庫被刪除、破壞時,應該從完全數據庫備份中恢復。此時,應指定RECOVERY選項。因為RECOVERY選項可初始化恢復進程,使數據庫保持一致。例如,如果實現了完全數據庫備份策略,張家口網站制作但是沒有任何事務日志的備份或者增量備份,就應該指定RECOVERY選項。下面是一個示例。在程序清單,假設在永久性備份文件nwindbac上有一個完全數據庫備份,此外還有兩個附加的備份。數據庫northwind由永久性備份文件nwindbac上的第二個備份完全替代。最后,恢復進程把數據庫返回到一致的狀態,即提交已經完成的變化,取消未完成的操作。 當從增量備份中恢復數據庫時,SQLServer系統只恢復從最近一次完全數據庫備份以后數據庫的變化部分,并且將數據庫返回到執行增量備份時的狀態。一般情況下,從增量備份中恢復數據庫所需要的時間比從事務日志備份中恢復數據庫要少。當從增量備份中恢復數據庫時,應該注意下述事項: 從增量備份中恢復數據庫的語法形式與從完全數據庫備份中恢復數據庫的語法形式一樣但在RESTORE語句的FROM子句中不是指定完全數據庫備份文件,而是指定包含有增量份的備份文件。 增量備份是在完全數據庫備份的基礎上進行的備份,增量備份不能孤立地存在。因此,在從增量備份中恢復數據庫之前,應該首先從完全數據庫備份中恢復數據庫。 如果在執行了增量備份之后,還有事務日志需要恢復,就應該在執行增量備份時指定NORECOVERY選項。如果在執行了增量備份之后,沒有事務日志需要恢復,就應該在執行增量備份時指定RECOVERY選項。
|