熱點推薦:
您现在的位置: 電腦知識網 >> 操作系統 >> Windows系統管理 >> 正文

[推薦]還原數據庫的經典做法

2013-11-11 21:39:13  來源: Windows系統管理 

  說明 所有的示例均假定已執行了完整數據庫備份
  
  
  A 還原完整數據庫
  
  
  說明 MyNwind 數據庫僅供舉例說明
  
  
  下例顯示還原完整數據庫備份
  
  RESTORE DATABASE MyNwind
   FROM MyNwind_
  
  B 還原完整數據庫備份和差異備份
  下例還原完整數據庫備份後還原差異備份另外下例還說明如何還原媒體上的另一個備份集差異備份追加到包含完整數據庫備份的備份設備上
  
  RESTORE DATABASE MyNwind
   FROM MyNwind_
   WITH NORECOVERY
  RESTORE DATABASE MyNwind
   FROM MyNwind_
   WITH FILE =
  
  C 使用 RESTART 語法還原數據庫
  下例使用 RESTART 選項重新啟動因服務器電源故障而中斷的 RESTORE 操作
  
   This database RESTORE halted prematurely due to power failure
  RESTORE DATABASE MyNwind
   FROM MyNwind_
   Here is the RESTORE RESTART operation
  RESTORE DATABASE MyNwind
   FROM MyNwind_ WITH RESTART
  
  D 還原數據庫並移動文件
  下例還原完整數據庫和事務日志並將已還原的數據庫移動到 C:\Program Files\Microsoft SQL Server\MSSQL\Data 目錄下
  
  RESTORE DATABASE MyNwind
   FROM MyNwind_
   WITH NORECOVERY
   MOVE MyNwind TO c:\Program Files\Microsoft SQL Server\MSSQL\Data\NewNwindmdf
   MOVE MyNwindLog TO c:\Program Files\Microsoft SQL Server\MSSQL\Data\NewNwindldf
  RESTORE LOG MyNwind
   FROM MyNwindLog
   WITH RECOVERY
  
  E 使用 BACKUP 和 RESTORE 創建數據庫的復本
  下例顯示使用 BACKUP 和 RESTORE 語句創建 Northwind 數據庫的復本MOVE 語句使數據和日志文件還原到指定的位置RESTORE FILELISTONLY 語句用於確定待還原數據庫內的文件數及名稱該數據庫的新復本稱為 TestDB有關更多信息請參見 RESTORE FILELISTONLY
  
  BACKUP DATABASE Northwind
   TO DISK = c:\Northwindbak
  RESTORE FILELISTONLY
   FROM DISK = c:\Northwindbak
  RESTORE DATABASE TestDB
   FROM DISK = c:\Northwindbak
   WITH MOVE Northwind TO c:\test\testdbmdf
   MOVE Northwind_log TO c:\test\testdbldf
  GO
  
  F 使用 STOPAT 語法還原到即時點和使用多個設備進行還原
  下例將數據庫還原到其在 日中午 點時的狀態並顯示涉及多個日志和多個備份設備的還原操作
  
  RESTORE DATABASE MyNwind
   FROM MyNwind_ MyNwind_
   WITH NORECOVERY
  RESTORE LOG MyNwind
   FROM MyNwindLog
   WITH NORECOVERY
  RESTORE LOG MyNwind
   FROM MyNwindLog
   WITH RECOVERY STOPAT = Apr : AM
  
  G 使用 TAPE 語法還原
  下例顯示從 TAPE 備份設備還原完整數據庫備份
  
  RESTORE DATABASE MyNwind
   FROM TAPE = \\\tape
  
  H 使用 FILE 和 FILEGROUP 語法還原
  下例還原一個包含兩個文件一個文件組和一個事務日志的數據庫
  
  RESTORE DATABASE MyNwind
   FILE = MyNwind_data_
   FILE = MyNwind_data_
   FILEGROUP = new_customers
   FROM MyNwind_
   WITH NORECOVERY
   Restore the log backup
  RESTORE LOG MyNwind
   FROM MyNwindLog
  
  I 將事務日志還原到標記處
  下例顯示將事務日志還原到名為RoyaltyUpdate的標記處
  
  BEGIN TRANSACTION RoyaltyUpdate
   WITH MARK Update royalty values
  GO
  USE pubs
  GO
  UPDATE roysched
   SET royalty = royalty *
   WHERE title_id LIKE PC%
  GO
  COMMIT TRANSACTION RoyaltyUpdate
  GO
  Time passes Regular database
  and log backups are taken
  An error occurs
  USE master
  GO
  
  RESTORE DATABASE pubs
  FROM Pubs
  WITH FILE = NORECOVERY
  GO
  RESTORE LOG pubs
   FROM Pubs
   WITH FILE =
   STOPATMARK = RoyaltyUpdate
  

From:http://tw.wingwit.com/Article/os/xtgl/201311/8885.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.