VLDB - 创建 SQL 数据库快照并运行精细的 DBCC CHECKDB 命令

Tod*_*ans 2 sql-server-2008 sql-server dbcc-checkdb vldb dbcc-checktable

我有一个 25TB db(SQL2008 Enterprise SP4),它似乎没有在生产中运行 CHECKDB。不知道它是否在某个时候针对恢复的备份运行。现在我没有空间在连接到同一存储的另一台服务器上恢复副本。

我需要能够运行 checkcatalog、checkalloc 和 checktable,但即使对于小表,它似乎也无法创建内部稀疏文件 dbcc 快照。

所以我想知道我是否可以在另一个驱动器上创建一个 SQL 数据库快照,然后针对它运行这些命令,然后在完成后删除快照数据库。

谢谢!

——托德

Ken*_*tle 7

我认为罗伯特戴维斯在两篇文章中回答了你的问题:

如何手动创建数据库快照并让 SQL Server 将其用于 CHECKDB:

http://www.sqlsoldier.com/wp/sqlserver/day1of31daysofdisasterrecoverydoesdbccautomaticallyuseexistingsnapshot

针对数据库运行的 CHECKTABLE 命令与使用不同选项手动创建的快照的性能比较:

http://www.sqlsoldier.com/wp/sqlserver/day15of31daysofdisasterrecoveryrunningdbccchecktableinparalleljobs