Проблемы
Предположим, что вы запрашиваете таблицу tempdb.sys.allocation_units в Microsoft SQL Server 2012. Если в запросе используется подсказка NOLOCK или запрос находится на уровне изоляции незафиксированных транзакций, появляется следующее сообщение об ошибке 608:
Ошибка: 608 серьезность: 16 состояние: 1 не найдена запись в каталоге для <с идентификатором> в <базы данных> имя базы данных. Метаданные несовместимы. Выполнение инструкции DBCC CHECKDB для проверки повреждений метаданных
Примечание. В команде DBCC CHECKDB не отображается знак повреждения базы данных.
Причина
Эта проблема возникает из-за некорректного чтения устаревших метаданных.
Решение
Эта проблема впервые устранена в следующем накопительном обновлении SQL Server.
Накопительное обновление 4 для SQL Server 2012 с пакетом обновления 2 (SP2) /en-us/help/3007556
Накопительное обновление 13 для SQL Server 2012 с пакетом обновления 1 (SP1) /en-us/help/3002044
Все новые накопительные обновления для SQL Server содержат все исправления и все исправления для системы безопасности, которые были включены в предыдущий накопительный пакет обновления. Ознакомьтесь с самыми последними накопительными обновлениями для SQL Server.
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".