SQL Server数据库事务日志存储序列
原文
原文:http://blog.csdn.net/tjvictor/article/details/5251351
如果你的数据库运行在完整或是批量日志恢复模式下,那么你就需要使用作业(job)来定期备份事务日志,保持你的事务文件大小处在一个可管理的范围。当你需要还原事务日志时,你就需要按照创建事务日志的顺序来恢复它们。你可以参考存在msdb..backupset表中的信息来确定还原文件的顺序,使用FirstLSN和LastLSN列的值作参考。当你备份时,这些备份信息就会存在backupset表中

只要序列处于维护状态下,你就可以使用对应的日志把数据恢复到任意恢复点上。不幸的是,有些实例的序列已经被损坏了。下面两种情况普通是引起损坏的原因:
- 数据库的恢复模型被切换到了简单(SIMPLE)后,再次被切换回完整或是批量日志。
- Backup log命令运行时,附带了TRUNCATE_ONLY/NO_LOG选项。
当上面两种情况发生时,你需要即可做一个数据库的完整备份,作为事务日志恢复的新的恢复点。那么你如何判断序列已经被破坏了呢?
在SQL Server 2000中,这确实有点麻烦。假如数据库恢复模型已经被更改了,或是备份时日志已经被截断了,那么当更改后,你第一次备份事务日志时,SQL Server 2000会显示如下输出:
There is no current database backup. This log backup cannot be used to roll forward a preceding database backup.
Processed 1 pages for database 'logtest', file 'logtest_log' on file 1.
BACKUP LOG successfully processed 1 pages in 0.078 seconds (0.019 MB/sec).
注意这仅仅是个消息。虽然备份依然会成功完成,但却不可用。因为这是个计划作业,所以你什么都看不到,不过当事务日志被截断时,在Windows事件日志中是相关警告日志的。。

注意:如果你正在使用SQL Server 2000,那么日志事务对于数据库是非常重要的,所以要在Windows事件日志中不间断的监控日志事务事件。
假如你既没有关注警告消息,也没有监控Windows事件日志,那么基本上你就是有一批不可恢复的事务日志备份。SQL Server不应该警告我们吗?不应该停止无效的备份吗?假如你正在使用SQL Server 2005,那么答案肯定是应该的,而且它也是这么做的。下面就是当日志备份序列被毁坏时显示的消息:
Server: Msg 4214, Level 16, State 1, Line 1
BACKUP LOG cannot be performed because there is no current database backup.
Server: Msg 3013, Level 16, State 1, Line 1
BACKUP LOG is terminating abnormally.
是不是好多了。总之,如果你正在使用SQL Server 2000,你需要关注上面提到两个警告事件,这两个事件会毁坏你的日志备份序列,使你的备份失效。
下面是一些通用操作来保证日志序列不被破坏:
- 数据库恢复模型可以从完整到批量日志,反过来也一样
- 执行数据库完整备份,差异备份可是文件/文件组备份
假如你有如下一个备份序列(F代表完整数据备份,T代表事务日志)
F1,T1,T2,T3,T4,T5,T6
现在假设你要恢复到T6时间点,如下的恢复序列会帮你达到目的:
F1,T1,T2,T3,T4,T5,T6
F2,T3,T4,T5,T6
F3,T5,T6
本文翻译自sqlbackuprestore,更多精彩内容请浏览http://www.sqlbackuprestore.com
SQL Server数据库事务日志存储序列的更多相关文章
- SQL Server数据库事务日志序列号(LSN)介绍
原文:http://blog.csdn.net/tjvictor/article/details/5251463 日志序列编号(LSN)是事务日志里面每条记录的编号. 当你执行一次备份时,一些 ...
- 第十七周翻译-SQL Server中事务日志管理的阶梯,级别5:以完全恢复模式管理日志
SQL Server中事务日志管理的阶梯,级别5:以完全恢复模式管理日志 作者:Tony Davis,2012/01/27 翻译:赖慧芳 译文: 该系列 本文是Stairway系列的一部分:SQL ...
- SQL Server中事务日志管理的步骤,第5级:完全恢复模式管理日志(译)
SQL Server中事务日志管理的步骤,第5级:完全恢复模式管理日志 作者:Tony Davis,2012/01/27 系列 本文是进阶系列的一部分:SQL Server中事务日志管理的步骤 当事情 ...
- 如何读懂SQL Server的事务日志
简介 本文将介绍SQL Server的事务日志中记录了哪一些信息,如何来读懂这些事务日志中信息.首先介绍一个微软没有公开的函数fn_dblog,在文章的接下来的部分主要用到这个函数来读取事务日志. f ...
- SQL SERVER的事务日志
1 基本介绍 每个数据库都具有事务日志,用于记录所有事物以及每个事物对数据库所作的操作. 日志的记录形式需要根据数据库的恢复模式来确定,数据库恢复模式有三种: 完整模式,完全记录事物日志,需要定期进行 ...
- SQL Server 数据库开启日志CDC记录,导致SQL Server 数据库日志异常增大
这几天单位的SQL Server业务数据生产库出现数据库日志增长迅速,导致最终数据无法写入数据库,业务系统提示"数据库事务日志已满",经过多方咨询和请教,终于将日志异常的数据库处理 ...
- SQL Server备份事务日志结尾(Tail)
原文:http://blog.csdn.net/tjvictor/article/details/5256906 事务日志结尾经常提交数据库未备份的事务日志内容.基本上,每一次你执行事务日志备份时 ...
- SQL Server 收缩事务日志的方法
由于SQL2008对文件和日志管理进行了优化,所以以下语句在SQL2005中可以运行但在SQL2008中已经被取消:(SQL2005) Backup Log DataBaseName with no_ ...
- 你所不知道的SQL Server数据库启动过程(用户数据库加载过程的疑难杂症)
前言 本篇主要是上一篇文章的补充篇,上一篇我们介绍了SQL Server服务启动过程所遇到的一些问题和解决方法,可点击查看,我们此篇主要介绍的是SQL Server启动过程中关于用户数据库加载的流程, ...
随机推荐
- Android聊天界面刷新消息
今天,我想来分享一下自己初用线程的感受,虽然写法略显粗糙,并没有用线程Thread中核心的Looper,MessageQueue消息队列这些知识,正因为是初学线程,所以就只用最基础的来写了,慢慢学习优 ...
- rs.open 打开数据库权限问题 rs.open sql,conn,1,3 等后缀权限问题
Rs.open sql,conn,[0~3],[1~4] 这两个是游标,具体的作用是:RS.OPEN SQL,CONN,A,BA:ADOPENFORWARDONLY(=0)只读,且当前数据记录只能向下 ...
- Linux基本服务命令
启动Httpd服务:service httpd start 停止Httpd服务:service httpd stop 重启Httpd服务:service httpd restart 关闭httpd所有 ...
- UI2_NSUserDefaults
// // ViewController.m // UI2_NSUserDefaults // // Created by zhangxueming on 15/7/8. // Copyright ( ...
- 构造高度自适应的textarea
高度自适应的textarea,这个需求还是比较常见的,随着用户的输入textarea的高度自动变化,这样输入较少的时候可以节省空间,输入多的时候可以不出现滚动条,让内容尽可能的展现在用户的视线内. 可 ...
- 8款功能强大的最新HTML5特效实例
1.HTML5 Canvas画板画图工具 可定义笔刷和画布 今天要分享的这款HTML5 Canvas画图工具就可以简单实现网络画图的功能,我们可以自定义笔刷的类型.粗细.颜色,也可以定义画布的大小和背 ...
- Java web的读取Excel简单Demo
目录结构: Data.xls数据: 后台页面: GetExcelData.java public void doGet(HttpServletRequest request, Http ...
- Using Git Submodules
NOTE: Following content is directly reprinted from http://patrickward.com/2013/01/09/using-git-submo ...
- 4_1 wp8数据绑定与独立存储空间[wp8特色开发与编程技巧]
Wp8数据绑定与独立存储空间 数据绑定为基于 Silverlight 的应用程序提供了一种显示数据并与数据进行交互的简便方法. 数据的显示方式独立于数据的管理. UI 和数据对象之间的连接或绑定使数据 ...
- rest介绍
REST介绍 描述 rest即表述性状态传递(英文:Representational State Transfer,简称REST)是Roy Fielding博士在2000年他的博士论文中提出来的一种软 ...