日期:2013-04-18  浏览次数:20506 次


SQLSERVER收缩事务日志

一、由于系统中录入及删除数据频繁,故事务日志很大。

SQLSERVER中讲:

BACKUP LOG 数据库名 WITH NO_LOG|TRUNCATE_ONLY可以截断事务日志。

但我在数据库中进行上述操作后,事务日志还是没有改变。

二、只要进行“数据库收缩”操作。


在此复选框中打勾
 

选中上图所示选项,即可点“确定“,执行收缩事务日志的操作,硬盘经过一段时间的任务后,SQLSERVER终于提示收缩成功。事务日志文件被恢复到原始尺寸。

综上所述,第一步只是将非活动的事务日志截断,并没有收缩数据库,只要进行第二项操作后,数据库才进行事务日志的清理任务,将截断的非活动事务删除,并将事务日志文件收缩到适当尺寸。

 

 

在使用 SQL Server 时,数据库里的日志文件会越来越大,需求把它删除。  我先把这个数据库分离,在数据库上点右键 -> 所有任务 -> 分离数据库,分离之后,就可以把 Log 文件删除,同时也可以把数据进行备份。之后,就可以在所有任务里的附加数据库再把那个数据库添进来,SQL Server 会提示 LOG 文件不存在,问你是不是要新建一个,选是就行了,这样,LOG 文件就清空了。 这个方法只需几分钟的时间,但在这几分钟里,就不能访问这个数据库了,我觉得只适用于小型的使用,对于大型的系统就要找其它方法了。