签到成功

知道了

CNDBA社区CNDBA社区

解决SQL Server日志空间满的方法

2018-12-28 10:57 1879 0 原创 SQL Server
作者: Expect-乐

有以下几种方法

  • 备份日志。
    备份日志主要是为了防止由于日志空间满了而发生日志截断,从而影响数据库的恢复。而截断日志是释放空间的一个方法,所以为了避免日志空间满了,要经常备份日志。
  • 释放磁盘空间以便日志可以自动增长。
    手动删除磁盘上的其他不用的文件来释放磁盘空间,数据库会自动扩展日志大小。
  • 将日志文件移到具有足够空间的磁盘上。
  • 增加日志文件的大小。
    很常用的一个方法
  • 在其他磁盘上添加日志文件。
  • 完成或取消长时间运行的事务。
    长时间运行的事务会产生大量日志,导致日志空间不够。
    查询长时间运行的事务:
    select * from sys.dm_tran_database_transactions t 
    where DATEDIFF(SECOND,t.database_transaction_begin_time,GETDATE()) >60 --运行时间超过60秒
    and t.database_transaction_state in(4,12)  --事务未提交,但已产生日志
    
    database_transaction_state字段的含义:
    1 = 未初始化事务。
    3 = 已初始化事务,但未生成任何日志记录。
    4 = 事务已生成日志记录。
    5 = 事务已准备就绪。
    10 = 事务已提交。
    11 = 已回滚事务。
    12 = 正在提交事务。 (日志记录正在生成,但尚未具体化或持久化。)
http://www.cndba.cn/Expect-le/article/3207
http://www.cndba.cn/Expect-le/article/3207
http://www.cndba.cn/Expect-le/article/3207
http://www.cndba.cn/Expect-le/article/3207
http://www.cndba.cn/Expect-le/article/3207
http://www.cndba.cn/Expect-le/article/3207 http://www.cndba.cn/Expect-le/article/3207
http://www.cndba.cn/Expect-le/article/3207
http://www.cndba.cn/Expect-le/article/3207 http://www.cndba.cn/Expect-le/article/3207

版权声明:本文为博主原创文章,未经博主允许不得转载。

日志空间满

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
Expect-乐

Expect-乐

关注

Without the continuous bitter cold, there can be no fragrant plum blossom

  • 336
    原创
  • 6
    翻译
  • 100
    转载
  • 41
    评论
  • 访问:1566868次
  • 积分:1957
  • 等级:核心会员
  • 排名:第4名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ