|
|
SQLServer事务日志的具体分析说明 |
| 作者:ItWen收集整理 来源:www.itwen.com 更新时间:2006-10-27 |
|
|
[ 收藏此页到: 天天
| 和讯
| 博采
| ViVi
| 狐摘
| 我摘
]
|
|
SQL Server 的每一个数据库,无论是系统数据库(master,model, sybsystemprocs, tempdb),还是用户数据库,都有自己的transaction log,每个库都有syslogs表。Log记录用户对数据库修改的操作,所以如果不用命令清除, log会一直增长直至占满空间。清除log可用dump transaction 命令;或者开放数据库选项trunc log on chkpt,数据库会每隔一段间隔自动清除log。管理好数据库log是用户操作数据库必须考虑的一面。 下面就几个方面谈谈log及其管理: 一、SQL Server 如何记录及读取日志信息 我们知道,SQL Server是先记log的机制。Server Cache Memory中日志页总是先写于数据页:  Log" pages 在commit ,checkpoint,space needed 时写入硬盘。 Data pages 在checkpoint,space needed 时写入硬盘。 系统在recovery 时读每个database 的syslogs 表的信息,回退未完成的事务(transaction)(数据改变到事务前状态);完成已提交的事务(transaction)(数据改变为事务提交后的状态)。在Log中记下checkpoint点。这样保证整个数据库系统的一致性和完整性。 二、Transaction logs 和checkpoint 进程 checkpoint 命令的功能是强制所有“脏”页(自上次写入数据库设备后被更新过的页)写入数据库设备。自动的checkpoint 间隔是由SQL Server 根据系?统活动和系统表sysconfigures中的恢复间隔(recovery interval)值计算出的。通过指定系统恢复所需的时间总量,恢复间隔决定了checkpoint 的频率。 如果数据库开放trunc log on chkpt选项,则SQL Server在数据库系统执行checkpoint时自动清除log。但用户自己写入执行的checkpoint命令并不清除log,即使trunc log on chkpt选项开放。只有在trunc log on chkpt选项开放时,SQL Server自动执行checkpoint动作,才能自动清除log 。这个自动的checkpoint动作在SQL Server中的进程叫做checkpoint进程。当trunc log on chkpt选项开放时,checkpoint进程每隔0秒左右清除log,而不考虑recovery interval设置时间的间隔。 三、Transaction log 的大小 没有一个十分严格的和确切的方法来确定一个数据库的log应该给多大空间。对一个新建的数据库来说,log大小为整个数据库大小的20%左右。因为log记录对数据库的修改,如果修改的动作频繁,则log的增长十分迅速。所以说log空间大小依赖于用户是如何使用数据库的。 例如: 1.update,insert和delete 的频率 2.每个transaction 中数据的修改量 3.SQL Server系统参数recovery interval 值 4.log是否存到介质上用于数据库恢复 还有其它因素影响log大小,我们应该根据操作估计log大小,并间隔一个周期就对log进行备份和清除。 四、检测log 的大小 若log 在自己的设备上,dbcc checktable (syslogs) 有如下信息: 例:***NOTICE:space used on the log segment is 12.87Mbytes,64.35% ***NOTICE:space free on the log segment is 7.13Mbytes,35.65% 根据log剩余空间比例来决定是否使用dump transaction 命令来备份和清除log。 用快速方法来判断transaction log 满的程度。 1>use database_name 2>go 1>select data_pgs (8,doa mpg)
本篇文章共3页,此页为首页 下一页
|
引用提示:
内容页面:SQLServer事务日志的具体分析说明 --- 网络技术
作者:ItWen收集整理
来源:www.ITWEN.com 计算机基础教程网
|
版权申明:
本网站所有内容,未经注明的,版权一律属于计算机基础教程网(ITWEN.com)制作署所有。转载引用本网站的原创文章,请务必注明信息来源,标明“计算机基础教程网(ITWEN.com)”字样。
计算机基础教程网(ITWEN.com)依法保护知识产权,如果我们的文章有涉及或侵犯您的有关权益,请即时与我们联系, 注明网址及文章,我们会即时处理或删除, 感谢您的合作!
|
【大 中 小】
【返回站点首页】【打印本页】【关闭本页】
|
|
|
|
|
资料搜索 |
|
|
|
热门文章 |
|
|
|
前面文章 |
|
|
|
|