sqlserver日志的备份与还原

时间:2023-02-04 15:03:19

----------完整备份与还原----------               

--完整备份数据库--
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时出现以下错误:

sqlserver日志的备份与还原

解决方法:采用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还原后的路径)'