SQL Server 2005 Checkdb – 快照文件没有空间

我有一个包含8个数据文件的2Tb + SAP数据库,第一个文件已经增长到填充我们的HP EVA5000上的可用磁盘空间,现在增长已经在新文件上。 我们将SQL从SQL Server 2000升级到2005,Checkdb工作方式不同,现在失败,没有空间来创build快照。 我们已经为每个文件添加了50Gb作为临时措施,同时我们预先设置了一个新的I / O子系统。 问题是:我们如何监控快照的使用? 如果Checkdb启动,会有更多的空间,然后填满? 如果你发现它的空间不足,你能否取消CheckDb?

哦,我刚刚在SQL Server 2008内部的书里读了这个昨晚(感谢Paul Randal)。 如果空间不足,快照将被删除。 我的意思是在SQL 2005+内部引擎实际上是在幕后创build快照并运行checkdb。 您无法访问此快照,因为它对您而言是不可见的,但仍占用文件所在文件系统上的空间。 如果它没有足够的空间来创build这个系统快照,它会抛出一个错误并回滚该快照。

你可以做的是在另一个有足够空间的卷上手动创build数据库的快照,然后运行checkdb。 您的结果应该仍然有效,因为快照仅仅是页面更改与基础数据差异的集合。 我相信保罗可以更雄辩地回答这个问题,但这是它的基本要点。

另外是的,你可以取消正在运行的checkdb查询。