none
2012版本数据库的,如何收缩事务日志 RRS feed

  • 问题

  • 数据库的事务日志无法收缩,尝试很多中方法。都无济于事  ,都报错  1(.清空日志,截断日志,收缩)2. (分离-附加)方法用过
    2016年12月23日 3:27

全部回复

  • select log_reuse_wait_desc from sys.databases  用这个查看当前日志的重用状态   

    根据状态 采用不同的方式截断    最后收缩

    2016年12月23日 3:33
  • 


     你好,很据那你说的方法,我查出来是这个状态?查出一项是ACTIVE_TRANSACTION 其他都是 NOTHING  然后该怎么处理?

    2016年12月23日 3:48
  • 这个状态就是有打开的事务  还没有结束,等待结束 或者找到kill掉(可能回滚时间较长,慎重)   

    nothing 就是可以截断  直接收缩

    2016年12月23日 3:52
  •  谢谢大神,   我是菜鸟,请给我说一下 kill掉这个事务 的sq
    2016年12月23日 4:17
  • 找最早的事务  dbcc opentran()    

    找到返回的spid        执行  kill  spid  

    2016年12月23日 5:53
  • 麻烦加一下你的qq ...,给我指导一下
    2016年12月23日 6:41
  • 408150898
    2016年12月23日 6:51
  • 


     你好,很据那你说的方法,我查出来是这个状态?查出一项是ACTIVE_TRANSACTION 其他都是 NOTHING  然后该怎么处理?

    你都提到做过分离/附加了,那这个状态应该不是真正影响收缩的了

    建议你备份+还原,还原成一个新库,在新库上操作试试看

    • 已建议为答案 zhanggq 2016年12月25日 3:20
    2016年12月23日 9:30
  • 数据库的事务日志无法收缩,尝试很多中方法。都无济于事  ,都报错  1(.清空日志,截断日志,收缩)2. (分离-附加)方法用过
    If log disk has enough free space, don't bother to shrink db log unless it has too many virtual log files (sql log should have related alert in this case).
    • 已建议为答案 zhanggq 2016年12月25日 3:20
    2016年12月23日 20:06
  • 王发你好,

    你在收缩日志的时候遇到什么错误了? 可以把错误内容分享一下吧,你把错误提示的详细信息点开,把里面的内容发出来,造成收缩日志失败的原因有很多,涉及到权限,空间等等原因,需要错误信息分析。

    最简单有效的就是@zjcxc.邹建给出的方法,你也可以参考一下以下步骤:


    • 执行一下下面这个Query,看看空间够不够。
    dbcc SQLperf(logspace)
    • 执行一下下面的Query,看看有没有active transaction。
    DBCC OPENTRAN

    If you have any other questions, please let me know.

    Best Regards,
    Teige


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.



    2016年12月26日 9:30
    版主