MSSQL日志序列号的还原操作是怎样的

Admin 2022-07-28 群英技术资讯 302 次浏览

今天就跟大家聊聊有关“MSSQL日志序列号的还原操作是怎样的”的内容,可能很多人都不太了解,为了让大家认识和更进一步的了解,小编给大家总结了以下内容,希望这篇“MSSQL日志序列号的还原操作是怎样的”文章能对大家有帮助。


Microsoft SQL Server 事物日志中每个记录都由一个唯一的日志序列号(LSN)标识,如果 LSN2 大于 LSN1,则 LSN2 所标识的日志记录描述的更改发生在日志记录 LSN1 描述的更改之后。

顺序还原期间,还原完整备份后,数据被还原到进行备份的时间点相对应的 LSN,利用差异和日志备份可以将还原的数据库推到稍后的时间,该时间与一个更高的 LSN 相对应。

还原计划中,最重要的日志序列号(LSN)是第一个和最后一个 LSN。

  1. first_lsn或FirstLSN:备份集中第一个或最早日志记录的日志序列号。对于数据备份和差异备份,第一个 LSN 标识的是需要此备份执行恢复的最早日志记录,对于日志备份,第一个 LSN 标识的是备份中包含的第一个日志记录。

  2. last_lsn或LastLSN:备份集之后的下一条日志记录的序列号。最后一个 LSN 标识的是备份结束后的下一个日志记录。对于数据备份和差异备份(以及包含大容量日志操作的日志备份)。必须至少前滚到此 LSN,否则,还原期间复制的数据会出现不一致。对于日志备份,它包含的日志记录最多到(但不包含)此LSN。

日志序列号和数据备份或差异备份

对于数据备份或差异备份,first_lsn 和 last_lsn 之间的日志数据包含在备份中,这使得使用该备份(而无需日志备份)就可以恢复到 last_lsn。

对于数据备份或差异备份,如果按还原顺序使用备份,则 last_lsn 可能是最早的恢复点,如果需要更早的恢复点,则必须使用更早的备份。

当计划在还原数据备份或差异备份后使用哪个日志备份前滚时,通常将从该数据备份或差异备份之后的第一个日志备份开始,检查备份的属性时,你就会发现这样一个日志备份,其 first_lsn 小于或等于数据备份或差异备份中的 last_lsn,并且 last_lsn 大于数据备份或者差异备份中的 last_lsn。

日志序列号和日志链中的日志备份

新的日志链将随顺序局创建后的第一个完整数据库备份而启动,或在从简单恢复模式切换到完整或大容量日志恢复模式后启动。

first_lsn 和 last_lsn 用于将日志备份连成一个连续的序列(即日志链)。可以使用连续的日志备份序列前滚数据库(可以从最近的数据库备份或者差异备份前滚,也可以从丢失或损坏的数据库备份和差异备份的早期备份前滚)。

在日志备份中,first_lsn 是备份中第一个日志记录的 LSN,从此日志记录开始,日志备份最多包含到 LSN 为 last_lsn 的日志记录(但不包含该日志记录)。而且仅当早期备份(Backup_A)中的最后一个日志记录的 LSN 大于或等于后期备份(Backup_B)的第一个日志记录的 LSN 时,这两个日志备份才是连续的;也就是 Backup_A.last_lsn >= Backup_B.first_lsn。如果不是这样,这两个备份之间将存在空白。

这些 LSN 之间关系的意义如下:

  • A.last_lsn = B.last_lsn:则 B 通常是紧跟着 A 后进行的日志备份

  • A.last_lsn > B.last_lsn:存在重叠。重叠通常是由于创建仅复制日志备份或在时点还原后备份第一个日志引起的。重叠可能会涉及不同的恢复分叉。

日志链断开的原因

通常,SQL Server 数据库引擎会防止日志备份序列中出现空白,从而使日志链保持完整。但是,如果数据库管理员先将恢复模式更改为简单恢复模式,然后再将其改回完整或者大容量日志恢复模式,会使日志链断开。

由于日志链已断开,因此无法在涉及简单恢复模式的恢复模式中前滚。更改到完整或大容量日志恢复模式后,应使用新的差异基准或差异基准集。此外,也可以使用差异备份填补空白。


到此这篇关于“MSSQL日志序列号的还原操作是怎样的”的文章就介绍到这了,更多相关MSSQL日志序列号的还原操作是怎样的内容,欢迎关注群英网络技术资讯频道,小编将为大家输出更多高质量的实用文章! 群英智防CDN,智能加速解决方案

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

猜你喜欢

成为群英会员,开启智能安全云计算之旅

立即注册
专业资深工程师驻守
7X24小时快速响应
一站式无忧技术支持
免费备案服务
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
在线客服
微信公众号
返回顶部
返回顶部 返回顶部
在线客服
在线客服