我网上查了下给日志文件瘦身的方法,一般都是先截断再收缩,而截断一般都是在完全恢复模型下面通过备份日志功能来实现的(backup log语句),但是我很久以前好像看到过一种说法是完全备份数据库也有截断日志的功效,不知道这对不对?特来求证!
另外还有一个收缩数据库的疑问,通过企业管理器来实现,其中有一个选项:收缩后文件中的最大可用空间,这一项的值一般设置为多少好呢?按理说设置成0%能够达到最好的收缩效果?这样好不好呢?

解决方案 »

  1.   

    最好是完全备份数据库后,然后在日志DBCC CHECKED LOG.
      

  2.   

    任何事情都不是越大越好首相你想要确定你能收回多少空间  uncollectionSP_SPACEUSERED让后再多你的工作,你就知道你应该写多少合适了
      

  3.   

    疑惑之一:完全备份数据库也有截断日志的功效
    截断日志的动作与完全备份完全没有关系,截断日志可以由的动作完成:
    1、清空日志
      DUMP TRANSACTION 库名 WITH NO_LOG
    2、截断事务日志:
      BACKUP LOG 库名 WITH NO_LOG
    等等。
       可能让人误解的是,因为数据库恢复模式设置为simple从而自动截断日志,产生完全备份也会截断的错觉,其实不然。
      

  4.   

    1L和2L的没怎么看懂,因为我是数据库新手,关于那个DBCC,我网上去查了下,也没有看到CHECKED LOG的用法啊?具体是什么意思呢?我用的SQL2000
    3L的我看懂了
      

  5.   


    不完全对.在FULL/BULK_LOGGED模式下,当DB首次进行FULL BACKUP时,是会清空日志的,之后便只能通过LOG BACKUP来截断日志。
      

  6.   

    1.清空日志
    dump tran dbName with no_log
    2 截断事务日志
    backup log dbname with no_log
    3 收缩数据库
    dbcc shrinkdatabase(dbname)
      

  7.   

    收缩之前一定要清空日志么?我看你们好多给的方法都用了DUMP TRANSACTION 然后再是截断 bankup log
    ,不能直接截断就开始收缩么?