Исправление базы данных SQL Server в состоянии Suspect

При аварийных ситуациях в работе 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