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

本文介绍了一种SQL数据库的备份及恢复流程测试方法,包括创建测试数据库、表及记录,进行完全备份和日志备份,模拟数据库损坏后通过备份文件进行恢复的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

--测试步骤  
   
  --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  
  --*/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值