本人管理的一个数据库日志已经达到了恐怖的60G,原因是故障还原模型采用了完全模式,现在要缩小这个数据库日志,但因为对恢复方法有些疑问,故尚未下手,下面是从网上收集的方法,针对此方法,我有几个疑问,请高手解答,谢谢!方法:
 1、备份数据库(完整备份)
 2、DUMP     TRANSACTION     库名     WITH     NO_LOG   
 3、企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,
    这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了。 疑问1:在执行步骤2的语句前,要不要断开所有客户端连接?
疑问2:若有客户端连接并有数据更改操作时,我执行了步骤2中的语句有何影响或后果?求解!!!谢谢!!!

解决方案 »

  1.   

    backup log dbname with no_log
    dbcc shrinkfile(dblogname)
    备份好数据库后执行上面的语句,不用断开客户端连接。
    执行完毕后最好再备份一次,不然的话没法用事务日志备份和还原。
      

  2.   

    backup log dbname with no_log
    dbcc shrinkfile(dblogname)
    备份好数据库后执行上面的语句,不用断开客户端连接。
    执行完毕后最好再备份一次,不然的话没法用事务日志备份和还原。-------
    再备份一次是指再备份一次数据库还是在执行一次语句 backup log dbname with no_log?
      

  3.   

    不需要断开。
    使用第3种,会比较方便。
    如果收缩不了,改下恢复模式
    alter database xxx set recovery simple
    然后再收缩。
    完了后,要改回来
    alter database xxx set recovery full