База данных Sql выдает сообщение об ошибке при запуске DBCC CHECKDB()

Пожалуйста, помогите, при запуске DBCC checkdb() на моем рабочем сервере я получаю сообщение об ошибке ниже.

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

Я также выполнил Dbcc checkalloc('DBname') только с оценкой, но это также дает сообщение ниже

Сообщение 0, уровень 11, состояние 0, строка 0 Произошла серьезная ошибка в текущей команде. Результаты, если таковые имеются, следует отбросить.

Затем я также выполнил Dbcc checkalloc('DBname') с no_infomsgs, all_errormsgs, которые также выдают сообщение об ошибке ниже

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

Это SQL Server 2008 R2.

Может кто-нибудь, пожалуйста, помогите мне в решении вышеуказанной проблемы.


person user3816215    schedule 19.06.2020    source источник
comment
Тот факт, что DBCC CHECKALLOC, по-видимому, дает сбой, подтверждает идею о том, что вторая причина (системная таблица несовместима) может иметь место. DBCC хорош в обнаружении и устранении проблем, но он не идеален; некоторые формы коррупции выходят за рамки его возможностей. Безопаснее всего восстановить резервную копию на новую, свежую машину с SQL Server 2008 R2 и запустить там проверку, чтобы убедиться в отсутствии проблем с оборудованием (или, действительно, нехватки места в базе данных tempdb, другой возможной причины), мешающих работе.   -  person Jeroen Mostert    schedule 19.06.2020
comment
Если это не сработает, попробуйте ту же процедуру на более новом экземпляре SQL Server; это может быть ошибка DBCC, которая была исправлена ​​(или, скорее, более надежная обработка любого возможного повреждения). В любом случае вам давно пора обновиться — 2008 R2 не имеет расширенной поддержки уже почти год.   -  person Jeroen Mostert    schedule 19.06.2020