症状
运行 DBCC CHECKDB/CHECKTABLE 命令时,数据纯度检查可能导致命令意外运行。 在下列情况下, DBCC CHECKDB/CHECKTABLE 命令会出现此问题:
-
假设您有数据库或表,其中包含 Microsoft SQL Server 2012 中的 SQL CLR 用户定义类型(UDT)数据。 SQL Server 在验证 SQL CLR UDT 期间未正确重用内部 blob 内存。
-
用于 DBCC 操作的已授予内存(每个表的 checktable 或 checkdb)在大型内存服务器上未正确估计。
此问题可能会导致内存和 CPU 占用过多。
解决方案
服务包信息
若要解决此问题,请获取以下 SQL Server Service Pack。
有关 SQL Server 2012 Service Pack 3 (SP3)和 SQL Server 2014 Service Pack 1 (SP1)的详细信息,请参阅 Sql server 2012 Service pack 3 中修复的 bug 和 在 Sql Server 2014 Service pack 1 中修复的 bug。
累积更新信息
在以下 SQL Server 累积更新中首先修复此问题:
SQL Server 的每个新的累积更新均包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 我们建议你下载并安装 SQL Server 的最新累积更新:
参考
有关 DBCC 操作的详细信息,请参阅 MSDN 上的以下博客文章:
状态
Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。