Исправление поврежденной базы SQL (Suspect Mode)

26.10.09

База данных - Инструменты администратора БД

Что делать, если база данных под MS SQL ушла в Suspect Mode?

В своей работе столкнулся с ситуацией, когда рабочая база данных в конце дня ушла в режим "Suspect Mode". А архив был за много часов до этого. Перевести ее нормальный режим, пока не произведена починка базы, не получалось. DBCC checkdb тоже отказывалась запускаться, т.к. база в этом режиме. Замкнутый круг? Славо богу нашлась приведенная в этом посте статейка.

Для начала необходимо перевести базу данных в режим EMERGENCY:

EXEC sp_resetstatus 'yourDBname';
ALTER DATABASE yourDBname SET EMERGENCY

Потом выполнять тестирование базы:


DBCC checkdb('yourDBname')
ALTER DATABASE yourDBname SET SINGLE_USER WITH ROLLBACK IMMEDIATE
DBCC CheckDB ('yourDBname', REPAIR_ALLOW_DATA_LOSS)
ALTER DATABASE yourDBname SET MULTI_USER

 

 PS: Этот пост можно считать продолжением http://www.infostart.ru/public/59390/

Вступайте в нашу телеграмм-группу Инфостарт

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы, интерфейс 8.5. Может выполнять свертку одновременно в несколько потоков, а также без непосредственного участия пользователя. Решение в Реестре отечественного ПО.

24900 руб.

20.08.2024    74349    377    170    

322

Разработка Инструменты администратора БД Администрирование веб-серверов Администрирование Программист 1C:ERP Платные (руб)

Это специализированное решение для глубокого анализа и мониторинга серверов и баз данных 1С. Продукт позволяет выявлять причины замедлений, блокировок и ошибок, объединяя данные технологического журнала, СУБД и оборудования в единой интерактивной системе.

90000 руб.

13.05.2026    1167    2    0    

4

Инструменты администратора БД Инструментарий разработчика Роли и права Программист 1С:Предприятие 8 1C:Бухгалтерия Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

17000 руб.

10.11.2023    26260    97    46    

104

Информационная безопасность Инструменты администратора БД Инструментарий разработчика Учет документов Системный администратор Программист Бизнес-аналитик Бухгалтер Пользователь Руководитель проекта 1С 8.3 1С 8.5 Розничная и сетевая торговля (FMCG) Платные (руб)

Контроль ввода данных в 1С: проверка заполнения реквизитов, обязательные поля, контроль перед записью и проведением, запрет проведения документа. Позволяет настраивать любые проверки данных в 1С 8.3/8.5 от обязательных полей до сложных условий – без открытия конфигуратора и написания кода. Готовое расширение, которое подключается и работает сразу.

6000 руб.

15.04.2026    2483    6    0    

21

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтер Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14640 руб.

29.04.2020    51117    140    162    

95

Файловый обмен (TXT, XML, DBF), FTP Поиск данных Инструменты администратора БД Корректировка данных Системный администратор Программист 1С:Предприятие 8 1C:Бухгалтерия 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Данная обработка позволит Вам легко и просто, а главное - быстро, выполнить сравнение данных между ЛЮБЫМИ базами (и РИБ, по правилам конвертаций) по контрольным суммам выбранных объектов баз 1С, работающих на платформах 8.3 и выше. Удобный и понятный интерфейс в виде "мастера". Высокая скорость сравнения достигается за счет специального алгоритма расчета контрольной суммы объекта/записи и сравнения по данным суммам объектов 2х баз через файл. Имеется возможность выбора реквизитов, по которым система будет сравнивать объекты. Сравнение количества записей в движениях документов, возможность сравнивать данные по правилам конвертации и не только! Выбор объектов конфигурации для КАЖДОГО узла в отдельности с индивидуальным отбором для каждого объекта конфигурации, работа с FTP, сохранение или загрузка настроек, сохранение или загрузка результата сравнения, регистрация на обмен объекта и его движений. (Обновление от 12.11.2024, версия 2.2-2.5)

24400 руб.

27.10.2017    46841    32    15    

50
Вознаграждение за ответ
Показать полностью
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Valerich 1639 26.10.09 17:04 Сейчас в теме
Спасибо, полезно.
2. Serjik78 1290 26.10.09 17:52 Сейчас в теме
Плюсег, сам не сталкивался, но а вдруг? ;)
3. ninch 51 28.10.09 05:36 Сейчас в теме
Сталкивался. Есть такая неприятная весч. Теперь описание можно будет найти тут. Спасибо
4. WideSmile 28.10.09 12:27 Сейчас в теме
Столкнулся с такой ситуацией - после непредвиденного отключения электричества старые УПСники не успели корректно вырубить серваки.
Воспользовался похожим алгоритмом, база восстановилась, сверил все остатки - всё в порядке. Однако, до тех пор пока не выполнил тестирование и исправление средствами 1С, а также полную реиндексацию - преследовали мелкие глюки (проваливались джобы SQL, пользователей выбивало без сообщения об ошибке, частые зависания сеансов). Сейчас всё в порядке, уже месяца три прошло - всё работает адекватно.
cleaner_it; MsDjuice; +2 Ответить
5. WideSmile 28.10.09 12:28 Сейчас в теме
з.ы. проверяйте лучше УПСники - нервов уйдёт меньше ;-)))
6. Valerich 1639 26.11.09 06:59 Сейчас в теме
упала база msdb - перешла в этот веселый режим
бэкапы ее есть, но как из них восстановиться непонятно - suspend mode
при попытке перевести ее в режим EMERGENCY пишет
Msg 5058, Level 16, State 6, Line 2
Option 'EMERGENCY' cannot be set in database 'msdb'.

И как с этим бороться???
7. anderson 238 26.11.09 08:01 Сейчас в теме
(6) попробуйте запустить сервер в монопольном режиме sqlservr.exe -m -c. А дальше с помощью SQLCMD.

ЗЫ: сам не пробовал, рассказывали на курсах для восстановления базы master, может и для msdb подойдет
8. anderson 238 26.11.09 08:04 Сейчас в теме
13. ssega 06.08.14 09:23 Сейчас в теме
(6) Valerich,

тоже было такое на SQL2000SP4 помогла следующая последовательность команд:

выключем СКЛ, удаляем лог, включеам СКЛ, затем:

1.
use master
go
sp_configure 'allow updates', 1
reconfigure with override
go


2.
upd ate sysdatabases set status=32768 where name = 'msdb'
go


3.
DBCC REBUILD_LOG('msdb', 'C:\Program Files (x86)\Microsoft SQL Server\MSSQL\Data\msdb.ldf')
go


4.
use msdb
go
alt er database msdb se t SINGLE_USER with rollback immediate
go
use msdb
go
DBCC CHECKDB('msdb', REPAIR_REBUILD)
go


5.
use master
go
sp_dboption 'msdb', 'single user', 'false'
go


6.
use master
go
sp_configure 'allow updates', 0
reconfigure with override
go
25. mademchik 14.08.25 09:20 Сейчас в теме
(13) К середине статьи надежа уже начала покидать меня.... Одна из компонент базы данных остановилась после аварийного скачка напряжения в сети и перезагрузки сервера. Самостоятельные танцы с бубном не помогли... Помог ваш способ, огромная благодарность вам - ssega !
9. 18.10.11 20:07 Сейчас в теме
Начал с DBCC. Помогло реально. Большое спасибо. А то не знал, с какой стороны подступиться, сплошной отлуп от SQL сервера.

База перешла в режим после отключения питания. Виноват был не УПС, а Пилот, как оказалось.
10. Geqsogen 25.10.11 20:42 Сейчас в теме
Помогло после крушения рэйда и когда поздно заметили пропажу бэкапов. Но сначала надо было собрать еще инфы, чтобы восстановить базу на MSSQL 2005 SP4, которая помечена Suspend.
Пишу коротко по делу - только в такой последовательности удалось все сделать:

Use master
go
sp_configure 'allow updates', 1
go
---Execute---
reconfigure with override
---Execute---
select status from sysdatabases where name = 'DataBaseName'
---Execute---
EXEC sp_resetstatus 'DataBaseName';
ALTER DATABASE DataBaseName SET EMERGENCY
---Execute---
alter database DataBaseName set EMERGENCY, SINGLE_USER
---Execute---
dbcc checkdb ('DataBaseName', REPAIR_ALLOW_DATA_LOSS)
---Execute---
alter database DataBaseName set ONLINE, MULTI_USER
---Execute---
Use master
go
sp_configure 'allow updates', 0
go
---Execute---
reconfigure with override

ПыСы После "dbcc checkdb" ругнулся на то что не может создать лог файл - пришлось создать папку, которую он просил и повторить с этого пункта еще раз (база раньше стояла в другом месте)
Dmitrii D; Gruuush; insurgut; Zircool; IT-стратегия; K_A_O; +6 Ответить
11. electronik 19.04.12 15:37 Сейчас в теме
Воспользовался похожим алгоритмом, база восстановилась, сверил все остатки - всё в порядке. Однако, до тех пор пока не выполнил тестирование и исправление средствами 1С, а также полную реиндексацию - преследовали мелкие глюки (проваливались джобы SQL, пользователей выбивало без сообщения об ошибке, частые зависания сеансов). Сейчас всё в порядке
12. Motor24 06.08.13 16:14 Сейчас в теме
Спасибо - вчера буквально столкнулся. Оказывается связка SQL 2005+1С 7.7 ещё весьма популярна

(11)"Однако, до тех пор пока не выполнил тестирование и исправление средствами 1С, а также полную реиндексацию - преследовали мелкие глюки"
Главное, что восстановилось основное, а тестирование после этого уже радостная мелочь. Вчера в suspect легла 12-гиговая база, было очень весело :)
14. Zhilyakovdr 148 23.12.15 21:10 Сейчас в теме
15. Larkin 396 07.04.16 20:57 Сейчас в теме
Плюс в карму!!! Огромное спасибо!
16. Tommy1987 5 15.06.17 20:26 Сейчас в теме
Большое спасибо!!!
17. poyson 18.06.18 16:05 Сейчас в теме
После этих шагов при попытке зайти в конфигуратор база выдало следующее сообщение:
"файлы запроса и ответа на лицензирование конфигурации были удалены из конфигурации" и закрывается?
Никто не в курсе что делать с этим?
18. Timur.V 84 18.06.18 17:26 Сейчас в теме
(17)
файлы запроса и ответа на лицензирование конфигурации были удалены из конфигурации


"В подобной ситуации помогло следующее: открыть проблемную ИБ в конфигураторе -> меню Конфигурация -> Поддержка -> Настройка поддержки -> кн. "Сравнить, объединить" -> "Выполнить". Проблема ушла. ps. Конфа на поддержке с возможностью изменения"
Сравнивать с конфигурацией поставщика.

источник
19. poyson 18.06.18 18:13 Сейчас в теме
(18) Проблема в том, что это сообщение появляется при попытке войти в конфигуратор....
20. Timur.V 84 18.06.18 18:25 Сейчас в теме
(19) Позвони в фирму 1С.
21. user1107011 10.12.18 11:10 Сейчас в теме
Спасибо. Очень помогло.
22. пользователь 25.02.19 15:06
Сообщение было скрыто модератором.
...
23. Slawok 25.11.19 12:09 Сейчас в теме
Благодарю за статью!
Отличное решение, помогло! :)
24. Tarlich 86 25.07.24 12:39 Сейчас в теме
26. j.r.r 81 13.02.26 08:41 Сейчас в теме
Спасибо большое! Думал, что база уже всё. А резервная старовата. Не наделся, что поможет. Но взлетела и теперь прекрасно работает. Благодарю!
Для отправки сообщения требуется регистрация/авторизация