建数据库时,选择了限制文件大小,并且设置为自动收缩,为什么程序运行一段时间就会提示数据库日志已满,然后有关数据库的操作就失败了。大神请指点,这个问题困扰很久了。
1、关于收缩失败或收缩被阻塞的原因,请看这里:
http://msdn.microsoft.com/zh-cn/library/ms189493.aspx
2、不建议使用自动收缩:
http://www.cnblogs.com/downmoon/archive/2010/01/19/1651410.html
3、临时解决方法:
http://www.cnblogs.com/downmoon/archive/2009/12/13/1623004.html
现在的LOG是不是100M了
比100M大,【右击数据库-任务-收缩-文件】也没有任何效果,日志也不会缩小。
@guwoow: 那只能重新建个LOG了,不然是不能操作数据库的
@guwoow:
http://www.cnblogs.com/yipeng-yu/archive/2011/12/31/2308452.html
@Yu: 我知道这个日志太大时删除和重新创建,但是我设置的自动收缩和限制大小怎么不起作用呢?
@guwoow: 到了极限,它就没办法自动收缩了
@Yu: 到了100M时,他应该自动收缩才对啊,为什么不能自动收缩,该怎么解决
你必须截断日志或者备份日志后才能收缩。另外你吃饱了撑的限制日志增长干啥?
DUMP TRANSACTION databasename WITH NO_LOG
做个维护计划什么的,定时执行语句清空日志吧。这个我也不会做,每隔一段时间我会去服务器手动清空一次日志。反正隔一段时间要维护一次,顺便做了。