2016-05-30 3 views
1

DBCC CHECKDB показывает следующее сообщение об ошибке в моем R2 базы данных SQL Server 2008Ошибка 8921 работает DBCC CHECKDB

Msg 8921, Level 16, State 1, Line 2 Проверка прекращается. Сбой был обнаружен при сборе фактов. Возможно, tempdb из космоса или системная таблица несовместимы. Проверьте предыдущие ошибки.

Какое решение?

+0

Это единственное сообщение, которое оно возвращает? Как долго он работает, пока он не остановится? И что произойдет, если вы запустите DBCC CHECKALLOC в одной базе данных? –

+0

Показывает следующие сообщения после запуска DBCC CHECKALLOC. Msg 8921, уровень 16, состояние 1, строка 2 Проверка завершена. Сбой был обнаружен при сборе фактов. Возможно, tempdb из космоса или системная таблица несовместимы. Проверьте предыдущие ошибки. CHECKALLOC нашел 0 ошибок распределения и 0 ошибок согласованности в базе данных «OldLotus». –

ответ

2

Учитывая, что DBCC CHECKALLOC тоже не работает, без сообщений о коррупции, ваша база данных имеет поврежденные метаданные, и вам необходимо восстановить их из своих резервных копий (первое, что он делает, - это выполнить некоторые основные проверки по трем критическим системным таблицам, которые ему нужны, и если они сильно сломаны, с сообщением 8921 оно не сработает). У вас нет другого выбора здесь - вы не можете запустить ремонт, поскольку вы не можете запустить DBCC CHECKDB.

Возможно, вы можете сузить, какая системная таблица повреждена, используя DBCC CHECKTABLE на последовательных идентификаторах объектов из sys.objects, а затем вручную редактировать вокруг коррупции, но это очень продвинутый и имеет очень низкие шансы на успех.

Если у вас нет резервных копий, вам нужно будет создать новую базу данных, а затем экспортировать все схемы и данные в новую базу данных.

Смежные вопросы