SQL Server 2016 bak文件还原

一、概念

完整备份:备份整个数据库
差异备份:基于上一个完整备份
事务日志备份:基于前一个完备+日志备份(确保还原数据库到某个时间点)

二、还原步骤

前提:准备好备份文件
在这里插入图片描述

1. 完整备份还原
  • 方法一:选择【数据库】–>【还原数据库】
  • 方法二:选择【要还原的数据库】—>【任务】—>【还原】—>【数据库】
    SQL Server 2016 bak文件还原_第1张图片
    1)在还原数据库常规选项中,选择设备,添加你的备份文件,若需要将数据库备份还原为新的数据库,将目标数据库修改为你的新数据库名称
    SQL Server 2016 bak文件还原_第2张图片
    2) 在还原数据库文件选项中,可以修改你还原数据库的存放路径,若修改了,在差异备份注意修改备份路径与当前修改路径一致
    SQL Server 2016 bak文件还原_第3张图片
    3)在还原数据库选项中,若是在原来数据库上进行还原,勾选覆盖现有数据库,还原新数据库可勾可不勾,点击【确定】还原成功即可。
    重点:若进行完备后还需进行其他还原,需要选择恢复状态为:RESTORE WITH NORECOVERY)!若无默认选第一个(保持源数据库还原状态视个人情况来选择)
    PS: 若不慎进行误操作,使得数据库一直处于还原状态,但是又不想继续还原其余备份,RESTORE database dbname with recovery恢复数据库为可访问状态。
    SQL Server 2016 bak文件还原_第4张图片
2. 差异备份还原

前提:已经进行了完备还原,并且数据库恢复状态是NORECOVERY
1)选择【数据库】—>【任务】—>【还原】—>【文件和文件组】
SQL Server 2016 bak文件还原_第5张图片
2)选择源设备,添加差异备份文件
SQL Server 2016 bak文件还原_第6张图片
3)选项中选择覆盖现有数据库,完备若修改了还原存储路径,此处记得修改,若后面继续进行其他备份,恢复状态选第二个,否默认选第一个,点击【确定】还原成功即可。
SQL Server 2016 bak文件还原_第7张图片
小知识:笔者有遇到一种情况:拷贝服务器上的bak文件还原到本地,差异备份将会报错,具体报错位置在于无法修改数据库文件的路径,即使使用默认路径也无法进行还原,原因未明

SQL Server 2016 bak文件还原_第8张图片
后来有大佬告诉我,直接用语句执行比较快~

restore database  from disk='xxxxxxxxx.bak' 
with norecovery,stats=5,
move '逻辑文件名' to '还原后数据库数据文件存放路径\逻辑文件名.mdf',
move '逻辑文件名_log' to '还原后数据库日志文件存放路径\逻辑文件名_log.ldf'
3. 事务日志备份还原

假如有某数据库每2个小时进行一次日志备份,7点到11点有2个日志备份,要想还原到10点30分的数据,就得先还原7点到9点的日志备份,再还原9点到11点的日志备份。
1)选择【数据库】—>【任务】—>【还原】—>【事务日志】
SQL Server 2016 bak文件还原_第9张图片
2)选择源设备,添加日志备份文件
SQL Server 2016 bak文件还原_第10张图片
3)选择要还原的具体时间点,点击【确定】
SQL Server 2016 bak文件还原_第11张图片
4)若后面继续进行其他备份,恢复状态选第二个,否默认选第一个,点击【确定】,还原成功后数据库便处于可用状态
SQL Server 2016 bak文件还原_第12张图片
此文作为学习笔记,如有不对的地方,还望各位提出来,感谢!若能帮到大家不胜荣幸。
SQL Server 2016 bak文件还原_第13张图片

你可能感兴趣的:(SQL,Server,SQL,Server,2016,数据库备份还原)