经过一些实践,发现有时候不给收缩,或收缩的不多,与目标有差距。
2012-12-26
---------------------------------------------------------------
在SQL Server 2008下,网上以前流行的截断日志并收缩文件的方法不适合了,报语法错误。
同时因为我的数据库日志增长非常快,大概每天在1G以上,因此必须对其进行收缩。
经过在系统上的测试,感觉用SQL SERVER的维护计划更可行,现将操作方式简介如下:
注:下面的说明中也提到了使用差异备份,因为数据库文件增长也非常快,因此此处也稍作说明。关注收缩数据库日志文件的可以忽略此部分内容。
1、创建维护计划:
2、创建子计划
a、完整备份,每周一次
b、差异备份,每天一次,或每天多次
c、日志备份,每天一次
d、收缩数据库
e、删除备份文件,删除四周以前的备份文件,每天执行
f、清除日志备份文件,每天执行
3、关于日志文件的增长
如上所述,日志文件每天进行备份,同时每天清除旧的备份文件,这样日志文件虽然做了备份,但不会保留太多。(当然,如果你需要保留日志文件,则可以使用与数据库备份文件相同的清除策略)
日志文件在备份以后,在收缩数据库时,就可以回收已备份的日志文件的空间。但文件大小不会减少,只是增加了可用空间。但这样是可以满足我们的要求的:比如每天可能产生大约1G的日志,而每次备份并回收后,可以收回绝大部分空间,收回的空间则可以满足当天的日志使用了。
此方法不使用网上的那种截断的语句,完全使用SQL SERVER 2008的维护计划来执行,安全,可靠,定时,不用再担心日志文件占满磁盘空间了