截断数据库日志方法

截断数据库日志方法

ID:34768515

大小:90.28 KB

页数:6页

时间:2019-03-10

截断数据库日志方法_第1页
截断数据库日志方法_第2页
截断数据库日志方法_第3页
截断数据库日志方法_第4页
截断数据库日志方法_第5页
资源描述:

《截断数据库日志方法》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、有用的SQL语句关键是要在截断日志之前做一次完整备份。做完整备份的时候,用参数WITHNO_LOG;然后执行收缩数据库的操作。BACKUPDATABASE[ado]TODISK=N'C:ProgramFilesMicrosoftSQLServerMSSQL.1MSSQLBackupado0427inrunning.bak'WITHNOFORMAT,NOINIT,NAME=N'ado-完整数据库备份',SKIP,NOREWIND,NOUNLOAD,STATS=10;BACKUPLOG[ado]TODIS

2、K=N'C:ProgramFilesMicrosoftSQLServerMSSQL.1MSSQLBackupado0427inrunning.bak'WITHNO_LOG;GOUSE[ado];GODBCCSHRINKDATABASE(N'ado');执行结果为:SQLServer事务日志的收缩和截断SQLServer中事务日志的作用:持续记录数据库所有的事务和这些事务对数据库所做的修改;一旦数据库出现灾难事件,就需要事务日志来进行近期数据的恢复操作。但是,在此条件下受益的同时也要付出相应的代价:在活

3、动数据库中,事务日志会消耗大量的存储空间,假如你不做任何的干预,事务逻辑日志将会一直增长,直到塞满存储这些日志文件的所有可用空间。下面我们来详细介绍SQLServer提供的两个用来平衡事务日志对空间巨大需求的操作:收缩事务日志和截断事务日志。◆日志收缩截断日志虽然确实从日志文件中清除了事务,但它并不会真正的减小物理日志文件的大小。SQLServer希望事务日志最终会扩展到其截断前的大小,所以截断不会释放已经分配给日志的硬盘空间。如果你的日志在某一时刻人为地扩展到某个大小,却再也无法恢复到这个大小的话可就麻烦大了。

4、在这种情况下,要释放硬盘物理空间做其他用途,就要手动进行事务日志文件收缩操作。你可以使用下面的T-SQL命令实现日志文件的收缩:DBCCSHRINKFILE(,)+s,r,Q3Le/BZdOv0 ITPUB个人空间7MC8_1xF%h上面命令中的desired_shrink_size指的是你想要回收的硬盘空间大小(以MB为单位)。你可以在执行完事务日志截断操作之后立即回收大部分的磁盘空间。◆日志截断截断事务日志操作就是清除事务日志文件中的非活动记录。在一般的情况下,SQLServer能够自动执行截断操作,不需要人

5、工干预管理。截断的频率取决于数据库的使用程度。你每进行一次完整恢复模式或大容量日志恢复模式的数据库备份,SQLServer就会截断一次事务日志。如果是在简单恢复模式下(不能还原事务日志),SQLServer会在每个检查点之后截断事务日志。你也可以通过间接的方式手动驱使SQLServer执行事务日志截断操作,需要运行备份操作,不过你可以给SQLServer下指示,表明你只想执行事务日志的备份操作,不做执行其他任何操作。通过以下的T-SQL命令仍然可以达到上述效果:BACKUPLOGWITHTRUNCATE_ONLY

6、;  截断数据库日志方法1.为什么要截断数据库日志日志文件很重要,它记录用户对数据库的所有操作,在发生故障时,可以以此回复。但日志文件的大小到达一定程度时,会影响数据库性能。经常的,日志文件会大于数据库主文件本身,长时间不截断,甚至会达到10-20倍之多。如果ERP用户操作越频繁,相差会越大。比如,数据库文件为1G,而日志文件可能会有10G。一般3-6个月检查一次日志文件的大小。如果发现,日志文件比数据库文件大3~5倍,应该考虑截断数据库日志。在截断之前,锐减使用最简单的方法:务必做一次“完整备份”!2.检查日志

7、文件的大小方法有多种。3.截断日志文件在查询分析器中,使用SQL语句:BACKUPLOG{database_name

8、database_name_var}{[WITH{NO_LOG

9、TRUNCATE_ONLY}]}例:backuplog“database_name”withno_log4.收缩数据库做完第三个步骤之后,数据库的日志文件的大小将会被缩小,有可能只有1M左右的大小。具体缩小到一个什么程度,得看数据库的日志文件在数据库创建时的大小。截断数据库的命令DBCCSHRINKDATABASEDBCCSHRINK

10、DATABASE收缩指定数据库中的数据文件和日志文件的大小。语法:DBCCSHRINKDATABASE(database_name

11、database_id

12、0     [,target_percent]     [,{NOTRUNCATE

13、TRUNCATEONLY}])[WITHNO_INFOMSGS]例子:收缩ado的数据库文件和日志文件USE[ado]GODBCCSH

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。