您的位置:首页 > 数据库

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

2015-09-30 11:07 387 查看
SQLSERVER 备份还原常见错误以及解决方法

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

错误一



解决方法:

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

REPLACE 方法

--t-sql 附加数据库 记得:USE MASTER GO

SP_ATTACH_DB 'SHOP','F:\TEST\SHOP.MDF','F:\TEST\SHOP_LOG.LDF'
GO
--t-sql 分离数据库
SP_DETACH_DB SHOP,TRUE

RESTORE DATABASE NEWSHOP
FROM DISK='F:\TEST\BACKUP\SHOP.BAK'
WITH REPLACE   --覆盖原有的文件


REMOVE 方法

RESTORE DATABASE NEWSHOP
FROM DISK='F:\TEST\BACKUP\SHOP.BAK'
WITH
MOVE 'SHOP' TO 'F:\TEST\MOVE\SHOP.MDF',
MOVE 'SHOP_LOG' TO 'F:\TEST\MOVE\SHOP_LOG.LDF'


错误二:误用RECOVERY

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

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

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

使用NORECOVERY 就会看到如图:



解决方案:

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

--现在来恢复事务日志;
RESTORE LOG NEWMC67
FROM DISK='F:\TEST\MC67_LOG.TRN'
WITH STOPAT='2015-10-06 15:04'
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: