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 创建的备份称为“部分备份”。在简单恢复模式下,只允许对只读文件组执行文件组备份。还原的数据备份类型:数据库备份、部分备份或文件备份。对于数据库备份或部分备份,日志备份序列必须从数据库备份或部分备份的结尾处开始延续。对于一组文件备份,日志备份序列必须从整组文件备份的开头开始延续。

  文件备份: “文件备份”包含一个或多个文件(或文件组)中的所有数据。

  日志链: 连续的日志备份序列称为“日志链”。日志链从数据库的完整备份开始。通常,仅当第一次备份数据库时,或者将恢复模式从简单恢复模式切换到完整恢复模式或大容量日志恢复模式之后,才会开始一个新的日志链。除非在创建完整数据库备份时选择覆盖现有备份集,否则现有的日志链将保持不变。在该日志链保持不变的情况下,便可从媒体集中的任何完整数据库备份还原数据库,然后再还原相应恢复点之前的所有后续日志备份。恢复点可以是上次日志备份的结尾,也可以是任何日志备份中的特定恢复点。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/331078.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

1分钟了解相似性推荐

转载自 1分钟了解相似性推荐前几天聊的“协同过滤(Collaborative Filtering)”和“基于内容的推荐(Content-based Recommendation)”,都必须分析用户的历史行为数据(例如电影点击数据,职位查看数…

mybatis_user_guide(6) Java API

【0】README1)本文全文总结于 http://www.mybatis.org/mybatis-3/zh/java-api.html【1】SqlSessions1)intro: 我们知道, SqlSessionFactoryBuilder 创建 SqlSessionFactory , SqlSessionFactory 创建 SqlSession,然后…

hibernate左连接查询时在easyUI的dataGrid中有些行取值为空的解决办法

1 当使用left join左连连接&#xff0c;sql语句为 select t from SecondPage t left join t.rightNavbar n where 11 页面中出现了部分空行的情况&#xff0c;上述语句返回的list集合为 DataGrid dataGrid new DataGrid(); List<SecondPage> listsecondPageDao.find(…

1分钟了解基于内容的推荐,pm又懂了

转载自 1分钟了解基于内容的推荐&#xff0c;pm又懂了什么是基于内容的推荐&#xff08;Content-based Recommendation&#xff09;&#xff1f; 答&#xff1a;通过用户历史感兴趣的信息&#xff0c;抽象信息内容共性&#xff0c;根据内容共性推荐其他信息。比如&#xff0c;如…

mybatis_user_guide(7) SQL语句构建器类

【0】README1&#xff09;本文全文总结于 http://www.mybatis.org/mybatis-3/zh/statement-builders.html【1】在Java代码中来动态生成SQL代码就是一场噩梦1&#xff09;problemsolutions&#xff1a;1.1&#xff09;problem&#xff1a;Java程序员面对的最痛苦的事情之一就是…

datagrid获取页面总记录数的方法,datagrid获取页面总记录数为0的解决方法

1 在网上查了一大堆博客&#xff0c;都只有下面这一段&#xff0c;也不知道这些人有没有测试 var data$(#tt).datagrid(getData); alert(总数据量:data.total)//注意你的数据源一定要定义了total&#xff0c;要不会为undefined&#xff0c;datagrid分页就是靠这个total定义 al…

1分钟了解协同过滤,pm都懂了

转载自 1分钟了解协同过滤&#xff0c;pm都懂了工程架构方向的程序员&#xff0c;看到推荐/搜索/广告等和算法相关的技术&#xff0c;心中或多或少有一丝胆怯。但认真研究之后&#xff0c;发现其实没有这么难。今天的1分钟系列&#xff0c;给大家介绍下推荐系统中的“协同过滤”…

mybatis_user_guide(8) 日志

【0】README 1&#xff09;本文全文总结于 http://www.mybatis.org/mybatis-3/zh/logging.html 2&#xff09;Mybatis内置的日志工厂提供日志功能&#xff0c;具体的日志实现有以下几种工具&#xff1a; SLF4JApache Commons LoggingLog4j 2Log4jJDK logging 3&#xff09;具体…

hibernate在saveOrUpdate时,update报错:a different object with the same identifier value was already assoc

1 原因&#xff1a;网上说是&#xff0c;在hibernate中同一个session里面有了两个相同标识但是是不同实体。 2 我找出的解决方法是&#xff1a; getSession().clear(); //在dao层把session清理一下 3 网上查找出还有其他解决方法&#xff0c;其中 getSession().merge(arg0…

1分钟了解区块链的本质

转载自 1分钟了解区块链的本质区块链&#xff0c;比特币这些概念最近都很火&#xff0c;但很多人搞不清楚它究竟是啥&#xff0c;准备从技术的角度&#xff0c;从架构的角度&#xff0c;用通俗的语言谈谈楼主的理解。究竟啥是区块链&#xff1f;答&#xff1a;一句话&#xff0…

maven(7)生命周期和插件

【0】README1&#xff09;本文部分文字转自 “maven实战”&#xff0c;旨在 review “maven(7)生命周期和插件” 的相关知识&#xff1b;2&#xff09;maven 另外两个核心概念是生命周期和插件&#xff1a;maven的生命周期是抽象的&#xff0c;其实际行为都由插件来完成&#…

datagrid的文字换行与连续字符串换行处理,字符串三种截取方式

1 文字自动换行&#xff1a;nowrap:false 2 当时字符串&#xff0c;比如email这样的字段时&#xff0c;就需要用到字符串的拼接&#xff0c;首先&#xff0c;先贴出我解决问题的方法&#xff0c;再介绍字符串的三种拼接方式&#xff1a; 我解决问题的方法&#xff1a; {titl…

1分钟了解“区块链分叉”的本质

转载自 1分钟了解“区块链分叉”的本质 有不少朋友问&#xff0c;全球每个区块链节点都包含全部数据&#xff0c;都在最新的区块链数据上挖符合条件的区块&#xff0c;如何两个节点同时挖到新区块&#xff0c;出现数据不一致&#xff0c;该怎么办呢&#xff1f; 今天&#xff0…

sql server数据库:创建数据库、建立数据库用户、为用户赋予权限

1 使用sql创建数据库 use test go create database test2 on primary (nametest2_data, -- 主文件逻辑名filenameD:\DataSqlserver\test2_data.mdf,--物理路径size5MB,filegrowth15% ) log on (nametest2_log,filenameD:\DataSqlserver\test2_log.ldf, --日志物理文件名size…

review_core_basic_java(1)java程序设计概述

【0】README1&#xff09;本文部分文字描述转自 “core java volume 1” 旨在review “review_core_basic_java(1)java程序设计概述” 的相关知识&#xff1b;【1】 java 程序设计平台 【2】 java 白皮书的关键术语0&#xff09;intro&#xff1a;java的设计者编写了颇有影响力…

全球如何保证区块生成是匀速的?

转载自 全球如何保证区块生成是匀速的&#xff1f; 区块链有个特点&#xff1a;虽然大家都在采矿&#xff0c;但挖到矿的速度是均匀的。以承载比特币的区块链为例&#xff0c;平均每10分钟产出一个区块&#xff0c;这个速度基本是不变的。 有朋友就有疑问了&#xff0c;计算能力…

hibernate关联映射:多对一、一对一

配置对象关联关系 - 单向一对多关系 - 例如&#xff1a;班级与学生 Grade类中 public class Grade{private int gid;private String gname;private String gdesc;private Set student new HashSet();//set实现班级与学生的一对多关系 } Grade.hbm.xml中 <hibernate-m…

dom4j-cookbook

【0】README1&#xff09;本文译自http://dom4j.sourceforge.net/dom4j-1.6.1/cookbook.html 2&#xff09;intro&#xff1a; 2.1&#xff09;dom4j 是一个对象模型&#xff0c;在内存中表示一颗XML 树。dom4j 提供了易于使用的API以提供强大的处理特性&#xff0c;操纵或控制…

Spring 整合 Quartz 分布式调度

转载自 Spring 整合 Quartz 分布式调度本文旨在对 SpringQuartz 分布式调度有一个直观的了解&#xff0c;通过实际的使用来解决问题。前言为了保证应用的高可用和高并发性&#xff0c;一般都会部署多个节点&#xff1b;对于定时任务&#xff0c;如果每个节点都执行自己的定时任…

使用vo注释做一个poi导出功能

1 jsp中&#xff1a; <a href"${basePath}/manage/bulletinAction.do?methodexportMainProduct&is18th1">导出公司主营产品</a> 2 action中&#xff1a; /*** 导出主营产品*/public void exportMainProduct(ActionMapping mapping, ActionForm fo…