我有一个测试环境,我在其中安排了运行还原测试和 DBCC 检查的作业。这些作业运行到:
1)从产品复制数据库备份。
2)DROP
所有现有数据库,除了dba_utility
3) 恢复备份
4) 运行dbcc checkdb
我经常得到:
Time-out occurred while waiting for buffer latch type 2 for page (1:3564879), database ID 7.
奇怪的是,没有带有Id
of 的数据库7
。
Maximum Id
在sys.databases
目录视图中为 6。(请记住,该作业DROP
在还原操作之前的所有数据库除外。新还原dba_utility
的Id=5
数据库的 ID 为 6。)
生产环境是2008 R2,测试环境是2012 SP1。
这可能是什么原因造成的?
CHECKDB在幕后创建数据库快照。这是您的 DBID 7。
至于超时,可能是KB919155 当您在 SQL Server 中包含一个或多个非常大的表的数据库上运行 DBCC CHECKDB 语句时出现错误消息:“等待闩锁时发生超时”。“此行为是设计使然。”。页面 3564879 是IAM 链页面吗?
启用即时文件初始化后问题似乎得到解决