`
lovnet
  • 浏览: 6897851 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

SQL Server数据库事务日志序列号(LSN)介绍

阅读更多

日志序列编号(LSN)是事务日志里面每条记录的编号。

当你执行一次备份时,一些LSN值就被同时存储在文件本身及msdb..backupset表中。你可以使用RESTORE HEADERONLY语法来从备份文件中获取LSN值。

32139_1264259987ldkd[1]

注意:在SQL Server 2000中,有一列叫做DifferentialBaseLSN。但在SQL Server 2005中,相同的列名称变成了DatabaseBackupLSN。正解的列名应该是DatabaseBackupLSN,这个名称才能表达出它的意义,你可以从SQL Server 2000的联机丛书中找到相关说明。

FirstFSN值是备份设备中第一个事务的日志序列号,LastLSN值是最后一个。CheckpointLSN值是最近一次checkpoint日志的序列号。DatabaseBackupLSN是最近一次数据库完整备份的日志序列号。

那么LSN值对我们来说,有什么价值呢?对于差异备份设备来说,DatabaseBackupLSN值可以告诉我们数据库完整备份都需要哪些差异备份。你需要找出所有CheckpointLSN值相同的完整备份和差异备份。

32139_1264259990za2Z[1]

对于一个事务日志备份来说,在数据库还原过程中,FirstLSN和LastLSN值可以帮助我们对事务日志文件按序号进行排序。

32139_1264259991KQZZ[1]

假如数据库正处于还原状态,而且正在等待另外的还原事务日志,那你怎么能分辨出它当前的LastLSN值,以便你自己清楚下一步应该应用哪个日志呢?没关系,msdb..restorehistory表存储了每一个数据库还原信息。你可以引用msdb..backupset表,你可以找现存储事务日志的最后一个事务日志备份,它的LastLSN查询语句如下:

SELECT TOP 1 b.type, b.first_lsn, b.last_lsn, b.checkpoint_lsn, b.database_backup_lsn
FROM msdb..restorehistory a
INNER JOIN msdb..backupset b ON a.backup_set_id = b.backup_set_id
WHERE a.destination_database_name = 'AdventureWorks'
ORDER BY restore_date DESC

本文翻译自sqlbackuprestore,更多精彩内容请浏览http://www.sqlbackuprestore.com

分享到:
评论

相关推荐

    浅谈SQL Server中的事务日志(一)----事务日志的物理和逻辑构架 .docx

    SQL Server中的事务日志是数据库管理系统的关键组成部分,它在确保数据的持久性和事务一致性方面扮演着核心角色。事务日志的物理结构主要由虚拟日志文件(Virtual Log Files, VLFs)组成,这些文件是日志文件的逻辑...

    SQLSERVER 事务日志详解

    在SQL Server数据库管理系统中,事务日志是记录所有数据库更改操作的重要组件,它对数据库的稳定性和可恢复性起着至关重要的作用。本篇将深入探讨SQL Server事务日志的原理,以及如何利用`fn_dblog`这个系统存储过程...

    事物日志与SQLServer数据库维护.pdf

    在SQLServer数据库管理中,事务日志记录了每一个事务的详细信息,这些信息足以确保在需要的时候能够重演事务,无论是为了数据恢复还是事务回滚。 SQLServer使用了循环处理的事务日志机制,它利用连续的日志文件记录...

    SQL Server的事务日志机制的研究与应用.pdf

    SQL Server数据库作为广泛应用的商业数据库系统之一,其事务日志机制对数据库的维护和管理起着至关重要的作用。 在本文中,作者首先介绍了事务日志的起源和它在数据库备份、恢复以及信息集成系统中的应用。接着,...

    SQL Server事务日志备份内容研究.pdf

    事务日志备份是指对数据库事务日志进行的备份操作。这些日志记录了自上一次日志备份以来所有的事务活动。事务日志备份的内容主要是日志记录(也就是重做数据)范围内的数据,这个范围是由first_lsn(First Log ...

    数据库中的“月光宝盒”——SQL Server数据库时点还原.pdf

    这个恢复点可以是一个故障点之前的特定时间点、标记或日志序列号(LSN)。 进行时点还原的基本步骤通常分为两个阶段:首先是执行结尾日志备份,这是在还原数据库之前对尚未备份的日志记录执行的备份操作。它能够捕获...

    SQL Server中事务和锁的管理.pdf

    每个日志记录都有一个日志序列号(LSN),用于顺序追踪事务日志记录。在前写日志(write-ahead logging)的方式下,SQL Server先将数据修改操作的日志记录写入磁盘,然后再进行实际的数据修改。这种方式确保了即使在...

    SQL SERVER 2005基于事务日志的备份与恢复深入研究.pdf

    在深入研究SQL Server 2005的事务日志备份与恢复时,我们首先需要了解SQL Server是如何利用虚拟日志文件(VLFs)记录事务日志的。事务日志是数据库事务操作的连续记录,这些记录是顺序写入的。VLF是日志文件中的逻辑...

    SqlServer通过日志浏览恢复删除数据,手误的手快的有福了

    在SQL Server数据库管理中,有时候由于操作失误,可能会意外删除重要的数据。但幸运的是,SQL Server提供了一种机制,可以通过事务日志(Transaction Log)来恢复这些被删除的数据。本篇将详细介绍如何利用SQL ...

    sql server 三种恢复模式

    SQL Server的恢复模式是数据库管理系统的关键特性,它们决定了数据库如何处理事务日志,进而影响到数据的持久性、备份策略和恢复选项。SQL Server提供三种恢复模式:简单恢复模式、完整恢复模式和大容量日志恢复模式...

    SQL Server Blocking and Deadlock

    - **检查点**:通过设置最小LSN(日志序列号),将脏页写入磁盘。检查点可以手动执行,也可以由SQL Server服务定期自动执行。 - **执行时机**: - 手动执行`CHECKPOINT` - 自动执行(默认每1分钟) - SQL ...

    SQL Server实例恢复中重做日志记录定位机制研究.pdf

    LSN(Log Sequence Number,日志序列号)是日志记录的物理地址,由三个部分组成:VLF(Virtual Log File,虚拟日志文件)编号、日志段起始数据块号、日志记录所在槽的序号。LSN的每个部分都是一个整数,总长度为10...

    SQL Server 2008的更改数据捕获:崭新的异步CDC解决方案能够提高性能.pdf

    一旦更改过的数据能够用于消费目的,一个消费程序(通常是一个 Windows IT Pro Magazine 版的 ETL 过程)会使用系统生成的功能,或者通过日志序列号(LSN),或者通过时间范围来查询这些修改过的数据。生成的 CDC ...

    SQL Server经典

    综上所述,理解SQL Server中SELECT语句的执行顺序、操作执行顺序以及事务日志的相关知识,对于高效地管理和维护数据库至关重要。这些知识点不仅有助于优化查询性能,还能帮助DBA更好地管理数据库的备份与恢复策略,...

    SQLServer 2008中通过DBCC OPENTRAN和会话查询事务

    `DBCC OPENTRAN` 用于查询数据库中最早的活跃事务信息,包括事务开始的时间、服务器进程ID(SPID)、用户ID和事务日志序列号(LSN)。这些信息对于定位并处理阻塞事务至关重要。 例如,以下是一个使用 `DBCC ...

    SqlServer2008误操作数据(delete或者update)后恢复数据的方法

    如果在恢复过程中遇到"LSN"(日志序列号)错误,通常表示事务日志之间存在断点,此时需要检查备份的时间顺序和完整性。 总结来说,SQL Server 2008提供了一套全面的数据恢复机制,通过正确配置恢复模式和适时的备份...

    SQL Server误区30日谈 第14天 清除日志后会将相关的LSN填零初始化

    LSN是SQL Server中用于跟踪事务日志的内部计数器,每个日志记录都会有一个LSN。当日志文件在手动增长(手工指定日志文件增长到特定大小)、自动增长(日志达到一定阈值时自动增长)、创建(新建日志文件时)时,SQL ...

    SQL Server Page结构深入分析

    在示例中,我们看到头部信息包括Page ID、Page类型、分配状态、分配单元ID、分区ID、索引ID、对象ID、前一个和下一个Page的引用、槽计数、空闲字节数以及其他与事务、日志序列号(LSN)和碎片信息相关的字段。...

    SQL Server误区30日谈 第18天 有关FileStream的存储,垃圾回收以及其它

    在SQL Server中,`FileStream`是一项高级特性,用于在数据库中存储大量的二进制数据,如图像、文档等。然而,对于`FileStream`的理解往往伴随着一些误区...了解这些细节对于优化SQL Server数据库的存储和性能至关重要。

Global site tag (gtag.js) - Google Analytics