如何在数据库文件损坏情况下,进行恢复

--测试步骤  
   
  --1.建一个测试数据库test  
  create   database   test  
  go  
   
  use   test  
  go  
   
  --2.建一个表,插入记录  
  create   table   a(c1   varchar(2))  
  insert   into   a  
  select   aa  
  union   all   select   bb  
  go  
   
  --3.作完全备份,到文件:c:\a.bak  
  backup   database   test   to   disk=c:\a.bak   with   init  
   
  --4.做一些修改  
  insert   into   a   values(cc)  
  go  
   
  create   table   b(c1   int)  
  insert   into   b  
  select   1  
  union   all   select   2  
  go  
   
  /*--以下操作不能在查询分析器中进行  
   
  --5.停止sql服务数据库服务器  
   
  --6.用ultraedit编辑数据库文件test_data.mdf,随便修改点字节内容  
   
  --7.启动数据库,并且运行企业管理器,点开数据库,看到test变成灰色,而且显示置疑。  
   
  --下面的操作回到查询分析器中--*/  
   
  --8.进行日志备份  
  use   master  
  go  
   
  backup   log   test   to   disk=c:\a.bak   with   no_truncate  
  go  
   
  --9.恢复最老的完全备份  
  restore   database   test   from   disk=c:\a.bak   with   norecovery,replace  
  go  
   
  --10.恢复最近的日志  
  restore   log   test   from   disk=c:\a.bak   with   file=2,recovery  
  go  
   
  --11.显示结果,看数据是否恢复  
  use   test  
  go  
   
  select   *   from   a  
  go  
   
  select   *   from   b  
  go  
   
  --12.清除测试环境  
  use   master  
  go  
   
  drop   database   test  
  exec   master..xp_cmdshell   del   c:\a.bak,no_output  
   
  /*--测试结果(证明恢复成功)  
  c1        
  ----    
  aa  
  bb  
  cc  
   
   
   
  c1                      
  -----------    
  1  
  2  
  --*/
原文地址:https://www.cnblogs.com/cxd4321/p/1242284.html