解决方案 »

  1.   

    使日志文件变回原来大小的办法:分离该数据库,删除(可先更名)日志文件,再附加数据库,在附加操作界面上删除“丢失”的日志,即新创建一个起始大小的日志。
    保持比较小的日志文件的办法(自己总结,有效,但未得到专家认可):创建三个日志文件。这三个文件可以设置得比较小,这儿的比较小是相对的,比如你的日志文件动不动就几G,你可以设置三个 256M 或 512M 的日志文件,一般说来,它们会保持这样的大小,而不会变得很大。
      

  2.   


    分离数据库的方法已经试过,失败,失败的原因是不会自动创建一个新的日志第二个方法  创建三个日志文件不会自动变大?就是在数据库--右键属性--文件--添加一个日志文件,这样会保持一样的大小么?
    分离并更名日志文件后,在附加时,会在消息列中显示"找不到",此时将其删除(用下面那个按钮),再按确定按钮,即会附加成功,此时会新建一个日志文件,大小为初始大小.
    附加后,打开数据库属性窗口,在文件选项卡上,添加日志文件.我一般是将三个日志文件分别用_Log1.,_Log2,_Log3为三个日志文件的后缀,设置它为300多M,通常可以解决问题.
      

  3.   

    首先要确定数据库的日志恢复模式是完整还是简单,是否有进行日志备份如果是完整模式且有进行日志备份但是日志文件还是持续增长的话要通过以下语句确认具体的日志未被截断的原因,然后再对症下药
    SELECT d.log_reuse_wait , d.log_reuse_wait_desc , d.name
      FROM sys.databases AS d
      

  4.   

    在sql2008 里需要先将数据库的恢复模式转成简单的,才能进行日志文件收缩操作。
    ALTER DATABASE 数据库名 SETRECOVERY SIMPLE WITH NO_WAIT日志文件收缩操作命令
    DBCC SHRINKFILE(N’ 日志文件名’,0,TRUNCATEONLY)如果你不想改变日文文件大小, 你直接做个事务日志备份就可以。