При аварийных ситуациях в работе SQL Server, например, при аварийном завершении работы экземпляра, возможны ситуации, когда базы данных переходят в состояние Suspect и перестают обслуживать клиентские запросы.
Попытаться восстановить работоспособность базы данных можно следующей последовательностью запросов:
ALTER DATABASE My_Database SET EMERGENCY; ALTER DATABASE My_Database SET SINGLE_USER WITH ROLLBACK IMMEDIATE; DBCC CheckDB ('My_Database', REPAIR_ALLOW_DATA_LOSS); ALTER DATABASE My_Database SET MULTI_USER; ALTER DATABASE My_Database SET ONLINE;
В результате выполнения CheckDB мы получим обширный вывод от СУБД, который можно дополнительно проанализировать на предмет выполненных для базы исправлений:
Кроме этого можно заглянуть в лог SQL Server в SQL Studio и там должно также быть зафиксировано событие результата выполнения проверки БД:
Проверено на следующих конфигурациях:
Версия SQL Server |
---|
SQL Server 2019 Standard Edition |
Автор первичной редакции:
Алексей Максимов
Время публикации: 04.07.2023 10:03