----------完整备份与还原----------
--完整备份数据库--
backup database studb to disk=‘e:\stu.bak‘
backup log studb to disk=‘e:\stu_log.bak‘
use master
go
--还原数库库--
restore database studb from disk=‘e:\stu.bak‘ with replace,norecovery
restore log studb from disk=‘e:\stu_log.bak‘ with replace
---------差异备份----------
概念:以前数据库进行过完整备份,现在为保证数据完整性再进行差异备份
backup database studb to disk=‘e:\stu.bak‘ --完整备份--
backup database studb to disk=‘e:\stu_diff.bak‘ with differential --差异备份--
use master
go
restore database studb from disk=‘e:\stu.bak‘ with replace,norecovery --先还原完整备份--
restore database studb from disk=‘e:\stu_diff.bak‘ with replace --再还原差异备份--
注:
--replace 覆盖原有数据库
--recovery 还原数据库后,数据库处于正常状态
--norecovery 还原数据库后,数据库处于非正常状态,等待下一步还原
还原数据库的过程中碰到的问题
数据库右键→任务→还原→数据库,选择源设备在添加.bak时出现以下错误:
解决方法:采用sql命令执行
RESTORE DATABASE XLTebc FROM DISK = ‘D:\XLTebc.bak‘ WITH REPLACE , MOVE ‘pms_yujia(曾经的mdf逻辑名)‘ TO ‘D:\yjdb\pms_yujia.mdf(mdf还原后的路径)‘, MOVE ‘pms_yujia_log(曾经的ldf逻辑名)‘ TO ‘D:\yjdb\pms_yujia_log.ldf(ldf还原后的路径)‘