问一下为什么MSSQL的事务日志会满,一般都是什么情况下才会出现事务日志满的情况?
另外,还想问一下,事务日志初始设置为多少比较合适?

解决方案 »

  1.   

    日志满,我觉得有2个原因:正常情况下,日志文件中的空间会循环使用,会不出现满的现象1.你的日志文件限制最大的大小了,也就是当日志文件增长的时候,由于你的日志文件时限制最大大小,比如就是最多只有10M,那么当你的系统有一个大的事务,那么可能日志空间就不够了,导致日志满。2.如果你的数据库的恢复模式full,那么你必须通过备份数据库日志,来释放日志空间,让系统再循环使用日志空间,因为如果你不备份,系统认为你还需要这些日志,不会释放这些空间,所以日志就会满。
      

  2.   

    你不做日志备份,在非简单模式或者非自动截断的完整模式下,日志是不会自动释放,因为sql server会认为你还要用。大部分的查询不产生日志,增删改就会产生,日志这东西我看过有一本书专门讲的,一本书才勉强讲的清楚,恐怕一个帖子讲不完,简单来说,在非简单模式下,定期做日志备份,就可以控制ldf大小,如果不行,才需要进行深入研究