Sql Server 2005 备份和恢复

本文详细介绍了SQL Server中MyNwind数据库的备份与恢复过程,包括完整备份、日志备份、差异备份等策略,以及使用RESTART、STOPAT等语法进行特定场景下的恢复操作。

备份:

A.   备份整个   MyNwind   数据库  
   
   
  说明     MyNwind   数据库仅用于演示。  
   
   
  下例创建用于存放   MyNwind   数据库完整备份的逻辑备份设备。  
   
  --   Create   a   logical   backup   device   for   the   full   MyNwind   backup.  
  USE   master  
  EXEC   sp_addumpdevice   'disk',   'MyNwind_1',    
        DISK   ='c:/Program   Files/Microsoft   SQL   Server/MSSQL/BACKUP/MyNwind_1.dat'  
   
  --   Back   up   the   full   MyNwind   database.  
  BACKUP   DATABASE   MyNwind   TO   MyNwind_1  
   
  B.   备份数据库和日志  
  本例创建了一个数据库和日志的完整备份。将数据库备份到称为   MyNwind_2   的逻辑备份设备上,然后将日志备份到称为   MyNwindLog1   的逻辑备份设备上。    
   
   
   
  说明     创建逻辑备份设备需要一次完成。  
   
   
  --   Create   the   backup   device   for   the   full   MyNwind   backup.  
  USE   master  
  EXEC   sp_addumpdevice   'disk',   'MyNwind_2',  
        'c:/Program   Files/Microsoft   SQL   Server/MSSQL/BACKUP/MyNwind_2.dat'  
   
  --Create   the   log   backup   device.  
  USE   master  
  EXEC   sp_addumpdevice   'disk',   'MyNwindLog1',  
        'c:/Program   Files/Microsoft   SQL   Server/MSSQL/BACKUP/MyNwindLog1.dat'  
   
  --   Back   up   the   full   MyNwind   database.  
  BACKUP   DATABASE   MyNwind   TO   MyNwind_2  
   
  --   Update   activity   has   occurred   since   the   full   database   backup.  
   
  --   Back   up   the   log   of   the   MyNwind   database.  
  BACKUP   LOG   MyNwind    
        TO   MyNwindLog1  


恢复:

 

A.   还原完整数据库  
   
   
  说明     MyNwind   数据库仅供举例说明。  
   
   
  下例显示还原完整数据库备份。  
   
  RESTORE   DATABASE   MyNwind    
        FROM   MyNwind_1  
   
  B.   还原完整数据库备份和差异备份  
  下例还原完整数据库备份后还原差异备份。另外,下例还说明如何还原媒体上的另一个备份集。差异备份追加到包含完整数据库备份的备份设备上。  
   
  RESTORE   DATABASE   MyNwind  
        FROM   MyNwind_1  
        WITH   NORECOVERY  
  RESTORE   DATABASE   MyNwind  
        FROM   MyNwind_1  
        WITH   FILE   =   2  
   
  C.   使用   RESTART   语法还原数据库  
  下例使用   RESTART   选项重新启动因服务器电源故障而中断的   RESTORE   操作。  
   
  --   This   database   RESTORE   halted   prematurely   due   to   power   failure.  
  RESTORE   DATABASE   MyNwind  
        FROM   MyNwind_1  
  --   Here   is   the   RESTORE   RESTART   operation.  
  RESTORE   DATABASE   MyNwind    
        FROM   MyNwind_1   WITH   RESTART  
   
  D.   还原数据库并移动文件  
  下例还原完整数据库和事务日志,并将已还原的数据库移动到   C:/Program   Files/Microsoft   SQL   Server/MSSQL/Data   目录下。  
   
  RESTORE   DATABASE   MyNwind  
        FROM   MyNwind_1  
        WITH   NORECOVERY,    
              MOVE   'MyNwind'   TO   'c:/Program   Files/Microsoft   SQL   Server/MSSQL/Data/NewNwind.mdf',    
              MOVE   'MyNwindLog1'   TO   'c:/Program   Files/Microsoft   SQL   Server/MSSQL/Data/NewNwind.ldf'  
  RESTORE   LOG   MyNwind  
        FROM   MyNwindLog1  
        WITH   RECOVERY  
   
  E.   使用   BACKUP   和   RESTORE   创建数据库的复本  
  下例显示使用   BACKUP   和   RESTORE   语句创建   Northwind   数据库的复本。MOVE   语句使数据和日志文件还原到指定的位置。RESTORE   FILELISTONLY   语句用于确定待还原数据库内的文件数及名称。该数据库的新复本称为   TestDB。有关更多信息,请参见   RESTORE   FILELISTONLY。    
   
  BACKUP   DATABASE   Northwind    
        TO   DISK   =   'c:/Northwind.bak'  
  RESTORE   FILELISTONLY    
        FROM   DISK   =   'c:/Northwind.bak'  
  RESTORE   DATABASE   TestDB    
        FROM   DISK   =   'c:/Northwind.bak'  
        WITH   MOVE   'Northwind'   TO   'c:/test/testdb.mdf',  
        MOVE   'Northwind_log'   TO   'c:/test/testdb.ldf'  
  GO  
   
  F.   使用   STOPAT   语法还原到即时点和使用多个设备进行还原  
  下例将数据库还原到其在   1998   年   4   月   15   日中午   12   点时的状态,并显示涉及多个日志和多个备份设备的还原操作。  
   
  RESTORE   DATABASE   MyNwind  
        FROM   MyNwind_1,   MyNwind_2  
        WITH   NORECOVERY  
  RESTORE   LOG   MyNwind  
        FROM   MyNwindLog1  
        WITH   NORECOVERY  
  RESTORE   LOG   MyNwind  
        FROM   MyNwindLog2  
        WITH   RECOVERY,   STOPAT   =   'Apr   15,   1998   12:00   AM'  
   
  G.   使用   TAPE   语法还原  
  下例显示从   TAPE   备份设备还原完整数据库备份。  
   
  RESTORE   DATABASE   MyNwind    
        FROM   TAPE   =   '//./tape0'  
   
  H.   使用   FILE   和   FILEGROUP   语法还原  
  下例还原一个包含两个文件、一个文件组和一个事务日志的数据库。  
   
  RESTORE   DATABASE   MyNwind  
        FILE   =   'MyNwind_data_1',  
        FILE   =   'MyNwind_data_2',  
        FILEGROUP   =   'new_customers'  
        FROM   MyNwind_1  
        WITH   NORECOVERY  
  --   Restore   the   log   backup.  
  RESTORE   LOG   MyNwind  
        FROM   MyNwindLog1  
   
  I.   将事务日志还原到标记处  
  下例显示将事务日志还原到名为"RoyaltyUpdate"的标记处。  
   
  BEGIN   TRANSACTION   RoyaltyUpdate    
        WITH   MARK   'Update   royalty   values'  
  GO  
  USE   pubs  
  GO  
  UPDATE   roysched  
        SET   royalty   =   royalty   *   1.10  
        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   Pubs1  
  WITH   FILE   =   3,   NORECOVERY  
  GO  
  RESTORE   LOG   pubs  
        FROM   Pubs1  
        WITH   FILE   =   4,  
        STOPATMARK   =   'RoyaltyUpdate'   
   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值