Симптоми
Приемете, че имате заявка към таблицата tempdb.sys.allocation_units в Microsoft SQL Server 2012. Когато използвате NOLOCK подсказване в заявката или заявката е под нивото на изолиране на неизвършеното транзакция, получавате следното периодично съобщение за грешка на 608:
Грешка: 608 тежест: 16 щата: 1 не е намерен запис в каталог за <> за деление в база данни <име на база данни>. Метаданните са противоречиви. Изпълнение на DBCC CHECKDB за проверка за повреда на метаданни
Забележка Командата DBCC CHECKDB не показва никакъв знак за повреда на базата данни.
Причина
Проблемът възниква поради мръсен прочит върху стари метаданни.
Решение
Проблемът е коригиран първо в следващата сборна актуализация на SQL Server.
Кумулативна актуализация 4 за SQL Server 2012 SP2 /en-us/help/3007556
Кумулативна актуализация 13 за SQL Server 2012 SP1 /en-us/help/3002044
Всяка нова сборна актуализация за SQL Server съдържа всички поправки и всички корекции на защитата, които са били включени в предишната сборна актуализация. Вижте последните сборни актуализации за SQL Server:
Състоянието
Microsoft потвърди, че това е проблем в продуктите на Microsoft, които са посочени в секцията "важи за".