A time-out occurred while waiting for buffer latch -- type 4, bp 0000000089FD0B80, page 1:438, stat 0xcc0000b, database id: 5, allocation unit Id: 37615116025856/319090092736512, task 0x000000001441BEB8 : 0, waittime 300, flags 0x300000003a, owning task 0x0000000E6B98A9B8. Not continuing to wait.
以上是我复制的两条日志。
我们的数据库不定期的出现全面的无响应,通过分析日志,感觉像是日志文件在自动增长时,占用大量资源,导致数据库无响应(个人认为,不太确定)。现在的日志文件大约100G,是完整日志。
请高手指教一下,是不是这个原因?怎样避免这个问题?
如果增长发生在夜间的话,就不会对业务造成大影响。
12 个解决方案
#1
你的库是什么恢复模式的?如果是非简单模式,有没有做日志备份?
#2
完整日志模式
#3
先做日志备份吧
#4
每天数据库全备份,但没有做日志的单独备份
#5
完整模式下必须做常规日志备份,按照你的规模,可以考虑一小时一次,现在做一次日志备份,然后收缩日志,把常规日志备份设定好,基本上问题不大
#6
完整模式下完整备份不截断日志,日志会一直增长
#7
数据库完整备份应该包括日志备份吧?数据库完整备份会截断日志吗?
#8
做了一小时一次的日志常规备份,那数据库全备份应该采用什么策略?
#9
不包含
#10
完整备份继续,日志备份独立出来,每小时一次,用维护计划来做,图形化很容易的
#11
记住:非简单模式下,只有日志备份才能截断日志,虽然完整备份包含了部分日志,但是
“不截断”
#12
楼主的企业根本不重视DB管理、维护,所以玩DB就显得没价值
应急是改变日志文件每次增长大小(如固定300M,而不是默认的10%)
应急是改变日志文件每次增长大小(如固定300M,而不是默认的10%)
#1
你的库是什么恢复模式的?如果是非简单模式,有没有做日志备份?
#2
完整日志模式
#3
先做日志备份吧
#4
每天数据库全备份,但没有做日志的单独备份
#5
完整模式下必须做常规日志备份,按照你的规模,可以考虑一小时一次,现在做一次日志备份,然后收缩日志,把常规日志备份设定好,基本上问题不大
#6
完整模式下完整备份不截断日志,日志会一直增长
#7
数据库完整备份应该包括日志备份吧?数据库完整备份会截断日志吗?
#8
做了一小时一次的日志常规备份,那数据库全备份应该采用什么策略?
#9
不包含
#10
完整备份继续,日志备份独立出来,每小时一次,用维护计划来做,图形化很容易的
#11
记住:非简单模式下,只有日志备份才能截断日志,虽然完整备份包含了部分日志,但是
“不截断”
#12
楼主的企业根本不重视DB管理、维护,所以玩DB就显得没价值
应急是改变日志文件每次增长大小(如固定300M,而不是默认的10%)
应急是改变日志文件每次增长大小(如固定300M,而不是默认的10%)