MSSQLSERVER_8992
Область применения: SQL Server
Сведения
Товар | значение |
---|---|
Название продукта | SQL Server |
ИД события | 8992 |
Источник событий | MSSQLSERVER |
Компонент | SQLEngine |
Символическое имя | DBCC3_CHECK_CATALOG |
Текст сообщения | Check Catalog Msg ERROR Level LEVEL State STATE: MESSAGE. |
Примечание.
8992. Сообщение об ошибке ссылается на другое конкретное сообщение (от 3851 до 3858) о фактической несогласованности.
Описание
Инструкции DBCC CHECKCATALOG или DBCC CHECKDB обнаружили несогласованность в системных таблицах метаданных для указанного объекта. То есть существует несогласованность между записанным идентификатором объекта и объектом, указанным в сообщении об ошибке.
Эта ошибка может произойти, если одна или несколько системных таблиц были обновлены вручную, в результате чего возникла несогласованность в системных метаданных. Например, пользователь мог вручную удалить объект из таблицы sysobjects, не удалив связанные строки в других таблицах (например, sysindexes или syscolumns).
Эта ошибка могла произойти при выполнении инструкции DBCC CHECKDB для базы данных, которая была обновлена с SQL Server 2000 до SQL Server 2005 или более поздней версии. В SQL Server 2000 инструкция DBCC CHECKDB не включает функциональность DBCC CHECKCATALOG, таким образом, ошибка не будет выявлена до обновления, пока не будет специально выполнена инструкция DBCC CHECKCATALOG для базы данных SQL Server 2000.
Пользователь может видеть любую из следующих ошибок совместно с ошибкой 8992:
ИД сообщения | Текст сообщения |
---|---|
3851 | Недопустимая строка (%ls) обнаружена в системной таблице sys.%ls%ls. |
3852 | Строка (%ls) в sys.%ls%ls не имеет совпадающей строки (%ls) в sys.%ls%ls. |
3853 | Атрибут (%ls) строки (%ls) в sys.%ls%ls не имеет совпадающей строки (%ls) в sys.%ls%ls. |
3854 | Атрибут (%ls) строки (%ls) в sys.%ls%ls имеет недопустимую совпадающую строку (%ls) в sys.%ls%ls. |
3855 | Атрибут (%ls) существует без строки (%ls) в sys.%ls%ls. |
3856 | Атрибут (%ls) существует, но не должен существовать для строки (%ls) в sys.%ls%ls. |
3857 | Атрибут (%ls) необходим, но отсутствует для строки (%ls) в sys.%ls%ls. |
3858 | Атрибут (%ls) строки (%ls) в sys.%ls%ls имеет недопустимое значение. |
Действие пользователя
Удалить и повторно создать указанный объект
Если возможно, удалите и повторно создайте указанный объект. Например, если объект является хранимой процедурой или определяемым пользователем типом, повторное создание объекта может разрешить проблему.
Восстановление из резервной копии
Если неполадка не связана с оборудованием и есть безошибочная резервная копия, восстановите базу данных из этой копии. Это действие применимо, только если резервная копия не содержит ошибки метаданных.
Экспорт данных в новую базу данных
Если резервная копия также содержит несогласованные метаданные, необходимо создать новую базу данных и экспортировать содержимое существующей базы данных в новую базу данных.
Операция DBCC CHECKDB не может исправить эту ошибку.
Эту ошибку исправить невозможно. Если восстановить базу данных из резервной копии не удается, свяжитесь со службой поддержки пользователей Майкрософт (CSS).
Не обновляйте системные таблицы вручную
Не вносите изменения в системные таблицы вручную. SQL Server не поддерживает внесенных вручную каких-либо изменений в системные базы данных. В случае обновления системной таблицы в базе данных SQL Server в журнале регистрируются следующие события:
При обновлении системной таблицы вручную
Msg 17659: предупреждение: идентификатор <> системной таблицы был обновлен непосредственно в идентификаторе> базы данных и <согласованности кэша, возможно, не поддерживается. SQL Server должен быть перезапущен.
Запуск базы данных с системной таблицей, которая была обновлена вручную
Msg 3859: предупреждение: системный каталог был обновлен непосредственно в идентификаторе <>базы данных, недавно в date_time
При выполнении команды DBCC_CHECKDB после обновления системной таблицы вручную
Msg 3859: Предупреждение: системный каталог был обновлен непосредственно в идентификаторе <>базы данных, последний раз в date_time.