ton*_*ong 3 sql-server sql-server-2014 ghost-cleanup
我发现很多的ShrinkD,ghostcleanuptask和BTree Split/Shrink我的SQL Server日志。
在这些记录事件的时候,性能计数器显示lazy writes很慢,日志刷新率很高,write/sec接近30000,磁盘IO也很高。
我确定服务器流量是正常的,当时没有出现数据文件异常增长,但是日志文件比平时大了一倍。我使用该dump_log()函数来获取日志的统计信息:
我的配置:
我最近:
每天4:00-5:00存档,我怀疑ghost清理和我的物理备份删除和存档有关。日志文件是昨天同一时间的两倍。
我的问题:
小智 8
在 Paul Randal 的博客 Inside the Storage Engine: Ghost cleanup in depth的评论中也提出了这个问题
保罗回答说:
好像
a) 您已经为数据库启用了自动收缩,或者有一个代理工作在进行收缩
b) 您进行了大量删除,并且收缩“触及”了许多已删除记录的页面,因此它们得到了排队等待幽灵清理任务来处理。您需要修复 a)。
问题作者的反馈:
当它再次发生时,我设置
dbcc traceon(661,-1)并且服务器立即恢复。为什么会ghostcleanup突然有这么多任务,没有任何收缩工作?答案是:如果带有幻影行的页面数高于指定的(硬编码)限制,则任务将不间断运行,直到计数低于阈值。