Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Область применения: SQL Server
База данных SQL Azure Управляемый экземпляр SQL Azure
Проверяет согласованность каталогов в указанной базе данных. База данных должна быть в режиме в сети.
Соглашения о синтаксисе Transact-SQL
Синтаксис
DBCC CHECKCATALOG
[
(
database_name | database_id | 0
)
]
[ WITH NO_INFOMSGS ]
Аргументы
| database_namedatabase_id | 0
Имя или идентификатор базы данных, для которой проверяется согласованность каталога. Если значение не указано или указано значение 0, используется текущая база данных. Имена баз данных должны соответствовать правилам идентификаторов.
С NO_INFOMSGS
Подавляет вывод всех информационных сообщений.
Замечания
DBCC CHECKCATALOG После завершения команды сообщение записывается в журнал ошибок SQL Server. При успешном выполнении команды DBCC сообщается об успешном завершении и количестве времени, затраченном на выполнение команды. Если выполнение команды DBCC прерывается до завершения проверки по причине ошибки, сообщение указывает на прерывание команды и приводит значение состояния и количество времени, затраченного на выполнение команды. В следующей таблице перечислены и описаны значения состояний, которые могут быть включены в сообщение.
| State | Описание: |
|---|---|
| 0 | Возникла ошибка с номером 8930. Это указывает на повреждение метаданных, вызвавшее прекращение выполнения команды DBCC. |
| 1 | Возникла ошибка с номером 8967. Внутренняя ошибка DBCC. |
| 2 | При аварийном восстановлении базы данных произошла ошибка. |
| 3 | Это указывает на повреждение метаданных, вызвавшее прекращение выполнения команды DBCC. |
| 4 | Обнаружено нарушение доступа или утверждения. |
| 5 | Возникла неизвестная ошибка, которая привела к прекращению выполнения команды DBCC. |
DBCC CHECKCATALOG выполняет различные проверки согласованности между таблицами метаданных системы.
DBCC CHECKCATALOG использует внутренний моментальный снимок базы данных для обеспечения согласованности транзакций, которую требуется выполнить эти проверки. Дополнительные сведения см. в разделе "Размер разреженного файла моментального снимка базы данных" (Transact-SQL) и раздела об использовании внутреннего моментального снимка базы данных DBCC (Transact-SQL).
Если моментальный снимок не может быть создан DBCC CHECKCATALOG , получает монопольную блокировку базы данных для получения требуемой согласованности. Если обнаружены какие-либо несоответствия, их невозможно восстановить, а база данных должна быть восстановлена из резервной копии.
Примечание.
Выполнение DBCC CHECKCATALOG не tempdb выполняет никаких проверок. Это связано с тем, что по соображениям производительности моментальные снимки базы данных недоступны tempdb. Это означает, что нельзя достичь требуемой согласованности транзакций. Перезапустите службу ядро СУБД, чтобы устранить все tempdb проблемы с метаданными.
Примечание.
DBCC CHECKCATALOG не проверяет данные FILESTREAM. FILESTREAM сохраняет в файловой системе большие двоичные объекты.
DBCC CHECKCATALOG также выполняется как часть DBCC CHECKDB.
Результирующие наборы
Если база данных не указана, DBCC CHECKCATALOG возвращается:
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
Если AdventureWorks2025 имя базы данных указано в качестве имени базы данных, DBCC CHECKCATALOG возвращается:
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
Разрешения
Необходимо быть членом предопределенной роли сервера sysadmin или предопределенной роли базы данных db_owner.
Примеры
Следующий пример проверяет целостность каталогов в текущей базе данных и в базе данных AdventureWorks2025.
-- Check the current database.
DBCC CHECKCATALOG;
GO
-- Check the AdventureWorks database.
DBCC CHECKCATALOG (AdventureWorks2022);
GO