SQL server入门学习(一)事务日志体系结构

事务日志体系结构

每个SQL server数据库都具有事务日志,用于记录所有事务以及每个事务对数据库所做的修改。

事务日志逻辑体系结构

事务日志按逻辑运行,就好比一串日志记录。每条日志记录由一个日志序列号LSN标识。每条新日志记录均写入日志的逻辑结尾处,并使用一个比前面记录的LSN更高的LSN。每条日志记录都包含其所属事务的ID。对于每个事务,与事务相关联的所有日志记录通过使用可提高事务回滚速度的向后指针挨个链接在一个链中。

1、日志记录的类型

所执行的逻辑操作

记录已经修改数据的前像(执行操作前的数据副本)和后像(执行操作后的数据副本)

2、操作的恢复步骤取决于日志记录的类型

①记录逻辑操作:前滚(再次执行该操作);回滚(执行相反操作)

②记录前像后像:前滚(应用后像);回滚(应用前像)

3、事务日志中记录多种类型的操作

①每个事务的开始和结束

②每次数据修改(插入、更新或删除)+系统存储过程及DDL语句对包括系统表在内的任何表所做的修改

③每次分配或释放区和页

④创建或删除表或索引

回滚操作也记录在日志中。每个事务都在事务日志中保留空间,以确保存在足够的日志空间来支持由显式回滚语句或遇到错误引起的回滚。保存的空间量取决于在事务中执行的操作,但通常等于用于记录每个操作的空间量。

日志文件中从必须存在一以确保数据库范围内成功回滚的第一条日志记录到最后写入的日志记录之间的部份称为日志的活动部分,又称作“活动日志”或“日志尾部”。这是进行数据库完整恢复所需的日志部分。永远不能截断活动日志的任何部分!此第一条日志记录的日志序列号(LSN)成为最小回复序列号(MinLSN)。

差异和日志备份将还原的数据库推到了稍后的时间,该时间与一个更高的LSN相对应。

事务日志物理体系结构

数据库中的事务日志映射在一个或多个物理文件上。从概念上讲:日志文件就是一系列的日志记录。从物理上讲:日志记录序列被有效地存储在实现事务日志的物理文件集中。每个数据库必须至少有一个日志文件。

每个物理日志文件被分成了多个虚拟日志文件(VLF)。虚拟日志文件没有固定大小,且物理日志文件包含的虚拟日志文件数不固定。

数据库引擎在创建或扩展日志文件时动态的选择虚拟日志文件的大小。

数据库引擎尝试维护少量的虚拟文件。

在扩展日志文件后,虚拟文件的大小是现有日志大小和新文件增量大小之和。

管理员不能配置或设置虚拟日志文件的大小或数量。

2014

虚拟日志文件 (VLF) 的创建遵循此方法:

  • 如果下一次增长少于当前日志物理大小的 1/8,则创建 1 个 VLF,补偿此增长大小(从 SQL Server 2014 (12.x) 开始)
  • 如果下一次增长超过当前日志大小的 1/8,则使用 pre-2014 方法:
    • 如果增长少于 64 MB,创建 4 个 VLF,补偿此增长大小(如增长 1 MB,创建四个 256KB 的 VLF)
    • 如果增长在 64 MB 到 1GB 之间,创建 8 个 VLF,补偿此增长大小(如增长 512 MB,创建八个 64MB 的 VLF)
    • 如果增长大于 1GB,创建 16 个 VLF,补偿此增长大小(如增长 8 GB,创建十六个 512MB VLF)

如果这些日志文件由许多微小增量增长到的很大,则会具有很多虚拟日志文件。这会降低数据库启动以及日志备份和还原操作的速度。

 

未完成。2021.01.08


参考网站:https://docs.microsoft.com/zh-cn/sql/relational-databases/sql-server-transaction-log-architecture-and-management-guide?view=sql-server-2017

先了解一下基本原理,然后再看各版本之间的区别吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQL Server 2005微软官方权威参考书.   公球公认SQL Server 2005 经典著作..   数据库“铁人”、微软MVP胡百敬先生鼎力推荐   微软SQL Server 总部Principal Group 项目经理朱凌志鼎力推荐   本书详细介绍了数据引擎的基础运作,包含了数据库的设定与数据实际在硬盘的摆放、索引结构、事务与锁定等。除了解释设计理念与运作原理外,还辅之以测试验证的方式。数据库开发者和管理员可从中获得最优的方法、务实的建议和实例代码来帮助他们掌握创建和维护企业级关系数据库所需的复杂技术。该书获得资深专家关于创建和维护健壮数据库的高屋建瓴般的视野和入木三分的剖析,十分适合有一定数据库基础的读者学习。 内容简介 本书是Inside Microsoft SQL Server 2000的作者Kalen Delaney的又一经典著作,是Inside Microsoft SQL Server 2005系列四本著作中的一本。本书对SQL Server 2005存储引擎方面的知识进行了全面而详细的阐述,包括数据库文件、日志和恢复、表、索引及其管理、锁定和并发等内容。除了解释设计理念与运作原理外,书中还辅之以大量简短而有力的实例。您将跟随一位广受欢迎的作家同时也是SQL Server资深专家一起深入探索SQL Server存储引擎的技术内幕。   本书适合于专业数据库开发者、BI开发者、DBA和以SQL Server作为后台数据库的一般应用程序开发者。本书不仅适合SQL Server 2005的初级读者,也适合SQL Server 2005的中高级读者。读者可以从中获得最优的方法、务实的建议和实例代码来帮助他们掌握创建和维护企业级关系数据库所需的复杂技术。本书是所有SQL Server 2005用户的案头必备之书。 作者简介 Kalen Delaney,她还是微软出版社inside SQL Sever丛书的编辑。她从1987年开始便一直从事SQL Server相关的工作,1995年被评为MVP(微软最有价值专家》。她同时也是Solid Quality Learning的首席顾问和创始人。除此之外,她还是SQL Server Magazine的优秀编辑和专栏作家,她还写作了大量的SQL Server类书籍,包括著名的Inside Microsoft SQL Server2000。 目录 前言 致谢 引言 第1章 SQL Server 2005 的安装与升级  1.1 SQL Server 2005安装前提   SQL Server 2005 版本   软件要求   硬件要求  1.2 安装前决策   安全性和用户上下文   字符与排序规则   排序次序   安装SQL Server的多个实例   安装SQL Server命名实例  1.3 做好安装准备   SQL Server 2005升级向导  1.4 迁移还是升级   迁移   升级   升级后的操作  1.5 选择组件   SQL Server数据库服务(数据库引擎)   Analysis Services   Reporting Services   Notification Services   Integration Services   工作站组件、联机丛书及开发工具  1.6 小结 第2章 SQL Server 2005体系结构  2.1 SQL Server引擎组件   观测数据库引擎行为   协议   表格格式数据流(TDS)端点   关系引擎   存储引擎   SQLOS  2.2 内存   缓冲池和高速数据缓冲区   访问内存中的数据页   管理数据高速缓冲区中的页面   检查点   管理其他高速缓存中的内存   调节内存大小   调节缓存池大小  2.3 小结 第3章 SQL Server 2005的配置  3.1 使用SQL Server 配置管理器   配置网络协议   默认的网络配置   管理服务  3.2 系统配置   任务管理   资源分配   系统分页文件的位置   非必需的服务   网络协议   与SQL Server 早期版本之间的兼容性   跟踪标记(Trace Flags)   SQL Server 的配置设定   内存选项   调度选项(Scheduling Options)   磁盘I/O 选项   查询处理选项   默认跟踪(Default Trace)  3.3 小结 第4章 数据库数据库文件 第5章 日志和恢复 第6章 表 第7章 索引的内部构造和管理 第8章 锁定和并发

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值