2008年10月26日星期日

Sql server缩小日志文件的方法

今天自己的硬盘被占用的非常满,看到sql版的NC又占用了4.6G的日志,这个sql日志log文件非常大。必须得腾出点空间来。

方案一、
1.打开查询分析器,输入命令 DUMP TRANSACTION 数据库名 WITH NO_LOG
2.再打开企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至5M。

方案二、最常用的方法,不建议使用。要停止sql应用服务。
1、分离数据库
2、删除日志文件,既同名的ldf文件(mdf是数据库)
3、重新附加数据,只指定数据库,无日志。这样会用单文件附加方式附加上去。

方案三、直接去企业管理器,在数据库上点属性,把数据库改成当用户模式,再执行收缩数据库-》收缩文件,选择日志。这个方法在客户那里有效,在我这里没有效果。不知道原因。

其他更复杂的方法,需要比较复杂的sql操作,常见的如下:

BACKUP LOG 库名 WITH NO_LOG

DBCC SHRINKFILE( '日志文件名',新的大小数值型如1)

dbcc shrinkdatabase (database_name,[,target_percent])

等等。以前在东风本田用过。dbcc那个命令要交替使用柴油效果。

最后,别忘记了把数据库的属性设置为自动收缩。如果sql数据库跑在性能比较的硬件上,硬盘够大,这个也可以不设置。

--
郎啊郎别太忙 langalang.blogspot.com

没有评论:

发表评论