SQLSERVER 备份还原常见错误以及解决方法

SQLSERVER 备份还原常见错误以及解决方法

     个人在做测试的时候发现的常见问题,和一些解决方案,记录下来,以免遗忘!

错误一

解决方法:

      先分离源数据库,然后你可以使用 move 属性 或者直接添加 REPLACE 

      REPLACE 方法

  --t-sql 附加数据库 记得:USE MASTER GO
  SP_ATTACH_DB 'SHOP','F:TESTSHOP.MDF','F:TESTSHOP_LOG.LDF'
  GO
  --t-sql 分离数据库
  SP_DETACH_DB SHOP,TRUE
  
  RESTORE DATABASE NEWSHOP 
  FROM DISK='F:TESTBACKUPSHOP.BAK'
  WITH REPLACE   --覆盖原有的文件

   REMOVE 方法

  RESTORE DATABASE NEWSHOP 
  FROM DISK='F:TESTBACKUPSHOP.BAK'    
  WITH
  MOVE 'SHOP' TO 'F:TESTMOVESHOP.MDF', 
  MOVE 'SHOP_LOG' TO 'F:TESTMOVESHOP_LOG.LDF'

错误二:误用RECOVERY 

使用NORECOVERY和 RECOVERY的注意事项,特别是在使用事务日志恢复的时候!

  RECOVERY 则是将数据库从脱机状态恢复懂啊联机(online)状态,供用户使用,

  一旦数据库进行了RECOVERY,则无法再次进行RESTORE 操作。

 使用NORECOVERY 就会看到如图:

解决方案:

RESTORE DATABASE NEWMC67
FROM DISK='F:TESTMC67.BAK'
WITH REPLACE, NORECOVERY  --这里要使用NORECOVERY

--现在来恢复事务日志;
RESTORE LOG NEWMC67
FROM DISK='F:TESTMC67_LOG.TRN'
WITH STOPAT='2015-10-06 15:04'
原文地址:https://www.cnblogs.com/mc67/p/4848621.html