Что делать, если база данных под MS SQL ушла в Suspect Mode?
Если базу силой 1С не восстановить
Восстановление путем тестирования самого SQL.
Вот некоторые команды:
DBCC CHECKDB (’database’, REPAIR_FAST)
DBCC CHECKDB (’database’, REPAIR_REBUILD)
Если предыдущие две не помогли, тогда уже можно применять третью, но она несет за собою возможную потерю данных, и желательно применять в безнадежном случае уже.
DBCC CHECKDB (’database’, REPAIR_ALLOW_DATA_LOSS)
Если команда не выполняется из-за не однопользовательского режима, тогда перейти можно по команде
alter database db-name set SINGLE_USER
В своей работе столкнулся с ситуацией, когда рабочая база данных в конце дня ушла в режим "Suspect Mode". А архив был за много часов до этого. Перевести ее нормальный режим, пока не произведена починка базы, не получалось. DBCC checkdb тоже отказывалась запускаться, т.к. база в этом режиме. Замкнутый круг?
Для начала необходимо перевести базу данных в режим EMERGENCY:
EXEC sp_resetstatus ‘database’;
ALTER DATABASE database SET EMERGENCY
Потом выполнять тестирование базы:
DBCC checkdb(’database’)
ALTER DATABASE databaseSET SINGLE_USER WITH ROLLBACK IMMEDIATE
DBCC CheckDB (’database’, REPAIR_ALLOW_DATA_LOSS)
ALTER DATABASE database SET MULTI_USER

