DBA遇到的烦心事有一项就是清理SQL日志,尽管搭配MOM会有一个预警,但是也不能一天24小时都盯着MOM。于是学会观察数据库日志的增长速度来适时的收缩日志就很必要了。
DUMP TRANSACTION 数据库名称 with NO_LOG
BACKUP LOG 数据库名 with NO_LOG
DBCC SHRINKFILE (数据库日志逻辑名) with NO_INFOMSGS
with NO_INFOMSGS的目的是在DBCC SHRINKFILE运行之后不返回信息性消息。如果不加这句话,在执行查询之后会返回“DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。”
我直接把这组SQL查询做进了数据库维护计划,但是网上说经常DBCC会让数据库的查询效率下降,我还没有验证这个。