SQL Server 2008 数据库回滚到某个时间点
数据库回滚到时间的的前提: 事务日志完整,数据库在完整恢复模式下进行过一次完整备份,数据库没有进行过还原操作(惨痛教训)。
当数据库误操作时,切记冷静,不然问题就是滚雪球, 在不做下一步错误前 可观看该大神的方法:
http://blog.csdn.net/dba_huangzj/article/details/8491327
不成功的原因 :1.数据库一直处于简单恢复模式 ,进行完整备份和差异备份(这种状态可以还原数据库,日志会被截断,且所占内存相对小些,日志链不完整)2.二次错误的发生,回首第一步,不碰原表,还原以前的备份数据库,再单独修改误操作的表。
一、完全恢复模式下,在不同备份情况时,是否截断了日志?
1、完全备份时
2、差异备份时
3、事务日志备份时
二、截断日志后,
1、在不改变完全恢复模式情况下,进行收缩,日志文件大小是不发生改变的,此时,日志文件内的日志是否删除了?
2、改变完全恢复模式为简单模式,然后再从简单模式改为完全模式,没有进行收缩操作,此时,日志文件内的日志发生了变化没?
3、改变完全恢复模式为简单模式,进行收缩,然后再改为完全模式,此是比较明确的,日志没有了,被删除了。
三、截断日志的理解。
如果日志a1部分被截断了,然后又产生了a2部分日志,那a1和a2部分的日志是连续的吗?在备份事务日志的时候,是两部分日志都备份吗?如果都备份,那在做时点还原时,可以还原到该两部分日志的任何时刻吗?
截断的日志已经存进了mdf/ndf中,在ldf已经不存在了,a2会重用这部分(前提是连续的操作,不然会被其他部分重用a1的日志空间),已经截断了的部分已经不存在与ldf中,所以日志备份的文件中没有这部分的内容。做时间点还原的时候首先要先还原完整备份,这是因为已截断的部分在完整备份中,不再日志备份中。
在数据库的使用中,有几点要必备,1.有一次完整恢复模式下的完整备份;(重新开始日志链)bak文件理解成一个压缩包,完整备份和差异备份的时候会把数据和日志一起带进压缩包,而日志备份的时候只会把日志带进压缩包(当时还原了数据库,可能也对数据库的日志文件有影响了 对于日志文件的理解可以观看 http://blog.csdn.net/duanbeibei/article/details/50264117 (目前看不太懂))
SQL Server 2008 数据库回滚到某个时间点的更多相关文章
- SQL SERVER 2008 数据库隔离级别代码演示
SQL SERVER 2008 数据库隔离级别代码演示 个隔离级别(其实这是SQL 工业标) 种隔离级别,本身没有优劣之分,完全取决于应用的场景. 本质上,他们是在 隔离性(紊乱程度) 和 灵活性 ...
- 通过SQL Server 2008数据库复制实现数据库同步备份
SQL Server 2008数据库复制是通过发布/订阅的机制进行多台服务器之间的数据同步,我们把它用于数据库的同步备份.这里的同步备份指的是备份服务器与主服务器进行 实时数据同步,正常情况下只使用主 ...
- SQL Server 2008 数据库镜像部署实例之三 配置见证服务器
SQL Server 2008 数据库镜像部署实例之三 配置见证服务器 前面已经完成了镜像数据库的配置,并进行那个了故障转移测试.接下来将部署见证服务器,实现自动故障转移. 一.关于见证服务器 1.若 ...
- [转]实战 SQL Server 2008 数据库误删除数据的恢复
实战 SQL Server 2008 数据库误删除数据的恢复 关键字:SQL Server 2008, recover deleted records 今天有个朋友很着急地打电话给我,他用delete ...
- SQL Server 2008 数据库误删除数据的恢复
原文:SQL Server 2008 数据库误删除数据的恢复 原文:http://www.cnblogs.com/dudu/archive/2011/10/15/sql_server_recover_ ...
- 【转】通过SQL Server 2008数据库复制实现数据库同步备份
SQL Server 2008数据库复制是通过发布/订阅的机制进行多台服务器之间的数据同步,我们把它用于数据库的同步备份.这里的同步备份指的是备份服务器与主服务器进行实时数据同步,正常情况下只使用主数 ...
- 使用Oracle Sql Developer将SQL SERVER 2008数据库移植到Oracle 11g
ORACLE官方提供的Sql Developer自带的Oracle Migration Workbench. 什么是Oracle SQL Developer?在官方页面上,是这样介绍它的: Oracl ...
- sql server 2008 数据库数据类型
sql server 2008 数据库数据类型 一.数值型 int:整数类型,它的精度由执行机构确定.. smallint:短整数类型,它的精度由执行机构确定.. numeric(p,s):数值型,并 ...
- 如何转换SQL Server 2008数据库到SQL Server 2005
背景介绍: 公司一套系统使用的是SQL SERVER 2008数据库,突然一天收到邮件,需要将这套系统部署到各个不同地方(海外)的工厂,需要在各个工厂部署该数据库,等我将准备工作做好,整理文档 ...
随机推荐
- B. Divisor Subtraction
链接 [http://codeforces.com/contest/1076/problem/B] 题意 给你一个小于1e10的n,进行下面的运算,n==0 结束,否则n-最小质因子,问你进行多少步 ...
- pair project elevator
结对编程——电梯调度 12061181 高孟烨 12061182 郝倩 1.结对编程的优缺点: 优点:结对编程可以结合两个人各自擅长之地,充分发挥两个人各自的优势,两个人一起合作效率会更高.一份工作两 ...
- 个人阅读作业2:结合《No Silver Bullet》谈谈我在软件开发过程的遇到的困难与体会
英文捉急,只能挑一段看得比较懂的,而且正好和我们现在编程任务联系比较紧密的内容来谈一谈体会. 在<No Silver Bullet>中,作者描述了造成软件本质性困难(essence)的四个 ...
- 《Linux内核设计与分析》第十七章读书笔记
设备与模块 关于设备驱动和设备管理,四种内核成分. 设备类型:在所有Unix 系统中为了统一普通设备的操作所采用的分类. 模块: Linux 内核中用于按需加载和卸载目标码的机制. 内核对象:内核数据 ...
- JWT验证
理解 JSON Web Token(JWT) 验证 JSON Web Token认证的操作指南 在本文中,我们将了解JSON Web Token的全部内容. 我们将从JWT的基本概念开始,然后查看其结 ...
- Neo4j初探
neo4j-desktop-win64 exe https://neo4j.com/download-thanks-desktop/?edition=desktop&flavour=winst ...
- activiti engine.schema.update DB_SCHEMA_UPDATE_FALSE
engine.properties # engine propertiesengine.schema.update=trueengine.activate.jobexecutor=falseengin ...
- mybatis批量插入和批量更新
批量插入数据使用的sql语句是: insert into table (aa,bb,cc) values(xx,xx,xx),(oo,oo,oo) mybatis中mapper.xml的代码如下: & ...
- cerr与cout的区别
1.cout经过缓冲后输出,默认情况下是显示器.可以重定向. 2.cerr不经过缓冲而直接输出,一般用于迅速输出出错信息,不可以被重定向.
- View.requestLayout
参考:安卓高手之路之图形系统(6)requestLayout的流程 一.invalidate和postInvalidate 这两个方法都是在重绘当前控件的时候调用的.invalidate在UI线程中调 ...