sqlserver还原差异备份
因为之前遇到还原差异备份,最开始遇到SQLServer报错:”无法还原日志备份或差异备份,因为没有文件可用于前滚“。查阅很多资料后,终于得到解决。收集整理成这篇随笔。
问题原因:出现这种错误绝大多数是因为还原完整备份没有选择“恢复状态–>不对数据库执行任何操作,不回滚未提交的事务。可以还原其他事务日志”。下面详细分解操作步骤。
案例背景:创建一个叫TestBackup的数据库,创建一张叫Table1的表,这个时候进行一次完整备份,备份文件为:TestBackupDB-full.bak;接着创建表Table2后进行差异备份,备份文件为:TestBackupDB-diff.bak
创建一个叫TestBackup2的数据库,用于测试TestBackup数据库的备份文件的还原。
下面我们就可以对备份文件:TestBackupDB-full.bak、TestBackupDB-diff.bak进行还原:
数据库差异备份文件还原:
步骤一:还原完整备份文件TestBackupDB-full.bak,恢复状态选项:不对数据库执行任何操作,不回滚未提交的事务。可以还原其他事务日志。(RESTORE WITH NORECOVERY)
然后确定就可以了。这样就可以接着还原差异备份了。(注:只要还要还原,就一定要选择”不对数据库执行任何操作,不回滚未提交的事务。可以还原其他事务日志“,否则还原差异备份或日志备份就会出现以上的错误。)
还原成功后数据列表就会如下图所示:
步骤二:还原差异备份文件TestBackupDB-diff.bak,操作按正在还原步骤即可,恢复状态选项:回滚未提交的事务,使数据库处于可以使用状态。无法还原其他事务日志(L)。(RESTORE WITH RECOVERY)。
这样差异备份文件还原就完成了。举一反三,只要还有其他事务日志要提交,就选第二个;没有了,就选第一个。还原事务日志也是一样的,就不多说了。
名词解释:
完全备份: 备份全部选中的文件夹,并不依赖文件的存档属性来确定备份那些文件。(在备份过程中,任何现有的标记都被清除,每个文件都被标记为已备份,换言之,清除存档属性)。完全备份也叫完整备份。
差异备份: 差异备份是针对完全备份:备份上一次的完全备份后发生变化的所有文件。(差异备份过程中,只备份有标记的那些选中的文件和文件夹。它不清除标记,即:备份后不标记为已备份文件,换言之,不清除存档属性)。
增量备份: 增量备份是针对于上一次备份(无论是哪种备份):备份上一次备份后,所有发生变化的文件。(增量备份过程中,只备份有标记的选中的文件和文件夹,它清除标记,即:备份后标记文件,换言之,清除存档属性。)
事务日志备份: 在特定事务日志备份之前执行的完整数据库备份和上次差异备份(如果有)。在完整数据库备份之后执行的所有事务日志备份或在特定事务日志备份之前执行的差异备份(如果您还原了差异备份)。如果你设置了恢复模式为【简单】,你将无法使用【事务日志】备份。SQL Server 2000 和 SQL Server 2005: 创建事务日志备份,您必须使用完整恢复或大容量日志记录恢复模型。
部分备份: 通过指定 READ_WRITE_FILEGROUPS 创建的备份称为“部分备份”。在简单恢复模式下,只允许对只读文件组执行文件组备份。还原的数据备份类型:数据库备份、部分备份或文件备份。对于数据库备份或部分备份,日志备份序列必须从数据库备份或部分备份的结尾处开始延续。对于一组文件备份,日志备份序列必须从整组文件备份的开头开始延续。
文件备份: “文件备份”包含一个或多个文件(或文件组)中的所有数据。
日志链: 连续的日志备份序列称为“日志链”。日志链从数据库的完整备份开始。通常,仅当第一次备份数据库时,或者将恢复模式从简单恢复模式切换到完整恢复模式或大容量日志恢复模式之后,才会开始一个新的日志链。除非在创建完整数据库备份时选择覆盖现有备份集,否则现有的日志链将保持不变。在该日志链保持不变的情况下,便可从媒体集中的任何完整数据库备份还原数据库,然后再还原相应恢复点之前的所有后续日志备份。恢复点可以是上次日志备份的结尾,也可以是任何日志备份中的特定恢复点。
sqlserver还原差异备份相关推荐
- SQLServer数据库差异备份
差异备份 (differential backup)定义 一种数据备份,基于完整数据库或部分数据库或一组数据文件或文件组(差异基准)的最新完整备份,并且仅包含自确定差异基准以来发生更改的数据. 使用S ...
- sqlserver定时差异备份_一分钟看懂完全备份、差异备份以及增量备份
常用的数据备份方式有完全备份.差异备份以及增量备份,那么这三种备份方式有什么区别,在具体应用中又该如何选择呢? 1.备份方式简介 完全备份(Full Backup) 备份全部选中的文件夹,并不依赖文件 ...
- [SQL SERVER 2005]数据库差异备份及还原
因为之前遇到还原差异备份,最开始遇到SQLServer报错:"无法还原日志备份或差异备份,因为没有文件可用于前滚".查阅很多资料后,终于得到解决.收集整理成这篇随笔. 问题原因:出 ...
- SQL Server差异备份的备份/还原原理
SQL Server差异备份的备份/还原原理 记住一点:差异备份是基于最后一次完整备份的差异,而不是基于最后一次差异的差异 备份过程: 1-完整备份之后有无对数据库做过修改,如果有,记录数据库的最后L ...
- 如何还原完整差异备份
A.先还原完整备份 1.选中要还原的数据库. 2.右键-->选择任务-->选择还原-->选择数据库. 3.在指定要还原的备份集的源和位置选项中选择"源设备" 4. ...
- sql还原数据库备份数据库_有关数据库备份,还原和恢复SQL面试问题–第三部分
sql还原数据库备份数据库 So far, we've discussed a lot about database backup commands. In this article, we'll d ...
- aws rds监控慢sql_AWS RDS SQL Server中的本机差异备份概述
aws rds监控慢sql This article explores the differential backups in AWS RDS SQL Server using recovery sc ...
- Sql server 的完整备份和差异备份
Sql server 的完整备份和差异备份 完整备份当然就是将数据库的数据全部备份 而差异备份指得是将上一次备份后到现在对数据的修改进行备份. 因此差异备份不能单独使用,只能先还原上一次的完整备份后 ...
- SQL Server:日志备份和差异备份还原中的常见问题示例
日志备份和差异备份还原中的常见问题示例 代码 1 --创建测试 2 CREATE DATABASE db 3 GO 4 5 --正常备份 6 BACKUP DATABASE db TO ...
最新文章
- ASP.NET Web - 服务器控件
- 开发详细设计文档_郑州APP开发:开发前,进行详细设计有没有必要?
- 利用Java针对MySql封装的jdbc框架类 JdbcUtils 完整实现(包含增删改查、JavaBean反射原理,附源码)...
- nodejs mac java home_Mac上搭建nodejs开发环境
- ubuntu中将git 提交编译器nano 修改为vim
- Android Studio 2.2 HTTP proxy setting 提示异常
- 徐明星斥资超4亿香港买壳:史玉柱女儿现身股东行列
- HackerRank Word Order
- VS Code快捷生成用户代码片段操作,以vue为例
- Scintilla Markers Margins
- 中国医学史(第三章 中医药理论体系的初步形成)
- 在线识别图片中的字体的网站
- 整理一个将qq音乐的歌单导入到苹果音乐中的方法
- 对话Chris Jones:机器人行业的下一步应该这样走
- [高通SDM450][Android9.0]外接键盘闪屏以及默认使用虚拟键盘
- 百度map的简单例子
- Latex各种箭号符号,以及在箭头上方添加字母等符号的方法
- php 批量删除redis缓存,php redis 批量删除keys的方法
- STM32--RFID无线射频技术(RC522刷卡模块)
- 科研项目一般流程介绍
热门文章
- 计算几何模板中的代码
- AtCoder Beginner Contest 230
- [ZJOI2014] 星系调查(树上差分 + 数学推式子)
- Caddi Programming Contest 2021(AtCoder Beginner Contest 193) 题解
- CodeForces:749(div1)750(div2)
- 洛谷P4322 最佳团伙(树上dp)
- 2021“MINIEYE杯”中国大学生算法设计超级联赛(8)(1002,1004,1006,1009)
- AT2667-[AGC017D]Game on Tree【SG函数】
- 牛客挑战赛48E-速度即转发【带修莫队,分块】
- bzoj1013,luogu4035-[JSOI2008]球形空间产生器【高斯消元】