Найти тему
IT отец

Что делать если база данных в MSSQL находится в режиме SUSPECT

Всем привет! Сегодня рассмотрим несколько решений если ваша база данных в MSSQL находится в режиме SUSPECT или "подозрительно".

Необходимо сделать несколько запросов для поврежденной БД. Выглядят они так:

ALTER DATABASE "myDBname" SET EMERGENCY
DBCC checkdb('myDBname')
ALTER DATABASE "myDBname" SET SINGLE_USER WITH ROLLBACK IMMEDIATE
DBCC CheckDB ('myDBname', REPAIR_ALLOW_DATA_LOSS)
ALTER DATABASE "myDBname" SET MULTI_USER
ALTER DATABASE "myDBname" SET ONLINE

-2

ALTER DATABASE "myDBname" SET EMERGENCY - переводим базу в аварийный режим. Режим аварийного восстановления используется для доступа к базе данных в тех случаях, когда база данных содержит поврежденные данные или когда база данных невозможно открыть в нормальном режиме. В этом режиме база данных будет доступна только для частичного восстановления

DBCC checkdb('myDBname') - начинаем проверку физической и логической целостности объектов (таких как таблицы, представления, кластеры, последовательности, индексы и синонимы)

ALTER DATABASE "myDBname" SET SINGLE_USER WITH ROLLBACK IMMEDIATE - переводим БД в однопользовательский режим.

DBCC CheckDB ('myDBname', REPAIR_ALLOW_DATA_LOSS) - REPAIR_ALLOW_DATA_LOSS: используя этот параметр восстановления, DBCC CHECKDB попытается исправить найденные ошибки. При успешном выполнении это может ПРИВЕСТИ К ПОТЕРЕ ДАННЫХ. REPAIR_ALLOW_DATA_LOSS не является альтернативой для восстановления из резервной копии, рекомендуется использовать его только при отсутствии доступной резервной копии

ALTER DATABASE "myDBname" SET MULTI_USER - переводим БД в многопользовательский режим.

ALTER DATABASE "myDBname" SET ONLINE - переводим БД в оперативный режим.

Данная конструкция сработала у меня и помогла вывести БД в режима SUSPECT после того, как разработчик делал обрезку базы.

А вообще что бы не попадать в такие ситуации. Необходимо грамотно настраивать резервное копирование с транзакционными журналами при полной модели восстановления !

Если интересно могу написать об этом статью !
Надеюсь эта статья помогла вам. Подписывайтесь, ставьте лайки, пишите комментарии.
-3