永发信息网

如何读懂SQL Server的事务日志

答案:1  悬赏:30  手机版
解决时间 2021-02-22 05:49
如何读懂SQL Server的事务日志
最佳答案
SQL Server中的事务日志无疑是SQL Server中最重要的部分之一。因为SQL SERVER利用事务日志来确保持久性(Durability)和事务回滚(Rollback)。从而还部分确保了事务的ACID属性.在SQL Server崩溃时,DBA还可以通过事务日志将数据恢复到指定的时间点。当SQL Server运转良好时,多了解一些事务日志的原理和概念显得并不是那么重要。但是,一旦SQL SERVER发生崩溃时,了解事务日志的原理和概念对于快速做出正确的决策来恢复数据显得尤为重要.本系列文章将会从事务日志的概念,原理,SQL Server如何使用日志来确保持久性属性等方面来谈SQL Server的事务日志.
事务日志的物理组织构架
事务日志仅仅是记录与其对应数据库上的事务行为和对数据库修改的日志文件.在你新建数据库时,伴随着数据库文件,会有一个默认以ldf为扩展名的事务日志文件. 当然,一个数据库也可以配有多个日志文件,但是在逻辑上,他们可以看成一个.
在SQL Server对于日志文件的管理,是将逻辑上一个ldf文件划分成多个逻辑上的虚拟日志文件(virtual log files,简称VLFs).以便于管理。
那为什么SQL Server要把日志文件划分出多个VLFS呢?因为SQL Server通过这种方式使得存储引擎管理事务日志更加有效.并且对于日志空间的重复利用也会更加高效。使用VLF作为收缩数据库的最小单位比使用ldf文件作为最小单位无疑是更加高效的.
VLFS的个数和大小无法通过配置进行设定,而是由SQL Server进行管理.当Create或Alter数据库时,SQL Server通过ldf文件的大小来决定VLFS的大小和数量。在日志文件增长时,SQL Server也会重新规划VLFS的数量.
注意:根据这个原理不难看书,如果设置日志文件的增量过小,则会产生过多的VLFS,也就是日志文件碎片,过多的日志文件碎片会拖累SQL Server性能.
事务日志的逻辑组织构架
当针对数据库对象所做的任何修改保存到数据库之前,相应的日志首先会被记录到日志文件。这个记录会被按照先后顺序记录到日志文件的逻辑末尾,并分配一个全局唯一的日志序列号(log sequence number,简称LSN),这个序列号完全是按照顺序来的,如果日志中两个序列号LSN2>LSN1,则说明LSN2所在LSN1之后发生的.
由此可以看出,将日志文件分为多个文件除了磁盘空间的考虑之外。完全不会像数据那样可以并行访问,所以将日志文件分为多个完全不会有性能上的提升.
LSN号可以看作是将日志文件和其记录数据之间的纽带.每一条日志不仅有LSN号,还有其对应事务的事务日志,许多类型的操作都记录在事务日志中。
查看SQL SERVER的事务日志
在SQL SERVER 7.0和2000中,可以用下面的命令查看:
DBCC log ( {dbid|dbname}, [, type={0|1|2|3|4}] )
参数:
Dbid or dbname - 任一数据库的ID或名字
type - 输出结果的类型:
0 - 最少信息(operation, context, transaction id)
1 - 更多信息(plus flags, tags, row length)
2 - 非常详细的信息(plus object name, index name,page id, slot id)
3 - 每种操作的全部信息
4 - 每种操作的全部信息加上该事务的16进制信息
默认 type = 0
要查看MSATER数据库的事务日志可以用以下命令:
DBCC log (master)
一般情况下可以借助其他工具来查看SQL SERVER的事务日志,如LOG EXPLOERE等
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
海外海百纳大酒店我想知道这个在什么地方
现在可以安装使用的最老的QQ版本是哪个?
solidworks在画螺纹时为什么旁边的小三角老是
眉骨高眼窝深的面相
从热河南路到禄口机场要多长时间
甲丽净在什么地方啊,我要过去处理事情
尸兄怎么不更新了,每个星期都在等,就是不更
小松树幼儿园地址在哪,我要去那里办事
心梗的人适合吃什么
有哪首歌,表达了女友不在乎自己
公司恶意调职到外地,逼员工自行辞职怎么办
小米4用充电宝充电到20%然后我关机电量突然跳
22nd 23rd 是什么的缩写?有什么规则?原句是:
平安餐馆怎么去啊,有知道地址的么
宋学斌农家乐这个地址在什么地方,我要处理点
推荐资讯
我想问问中北镇交违章的星期六日歇班吗?
谁能帮我用“我爱倾宇”做成四字开头的诗句
1.何谓“人情”?就是人的七情六欲。孩提时,
CPUI5,内存2G,硬盘320G的华硕笔记本是什么型
lol狗头音响怎么调
源景时尚造型地址在哪,我要去那里办事,
去澳门工作,找了中介,他们说面试成功会跟我
matlab脚本文件中用for循环求k=∑(0~9)(2^n)
我是一名实习幼师,现在在大班当配班,但是就是
太原市勘察测绘研究院硕士进去待遇如何,有编
青岛363路公交车几点到河西站
华容道 关羽不杀曹操为什么不俘虏ta?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?