Восстановление работоспособности базы 1С 8.1 (файловой)

Администрирование - Системное

База 1С "падает" с ошибкой, виснет? Еще не все потеряно! Есть 8  методов, которыми можно попытаться "поднять" упавшую файловую базу 8.1

База "падает" с ошибкой dbeng8, виснет? Еще не все потеряно! Есть 8  методов, которыми можно попытаться "поднять" упавшую файловую базу 1С 8.1. Но вначале нужно сделать резервную копию - простым копированием папки базы, выгрузка не всегда может быть корректна.

Теперь можно начинать процедуру восстановления. Что можно сделать?

1) Удалить все файлы в папке базы, кроме самого файла базы. При новом запуске служебная информация пересоздастся и будет правильной.
2) Запустить chdbfl. Утилиту, которая лежит в bin, рядом с запускаемым файлом 1С. Она протестирует физическую целостность таблиц базы.
3) Исправить метаданные конфигурации (начиная с 8.1.10) Вызывается из конфигуратора, конфигурация/проверка конфигурации, нужны две верхних галочки
4) Вызвать из конфигуратора тестирование-исправление базы. Флажки установлены по-умолчанию, для тестирования этого, обычно, достаточно.
5) Выгрузить базу в файл *.dt и потом загрузить его вновь.
6) И, если ничего не помогает, попробовать сменить версию платформы на более свежую и повторить указанные действия уже на ней. Впрочем, это может быть и первым шагом.
7) Если база открывается, но  не работает, можно попытаться спасти данные, выгрузив их с помощью выгрузки или обмена в идентичную пустую базу.
8) Все вышеуказанное не помогает? Тогда остается последний шанс. Можно переслать базу в 1С (адрес есть в партнерской конференции, но нужно договориться).

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

P.S. Спасибо coder1cv8, напомнил еще одну возможность для восстановления. При динамическом обновлении конфигурации в базе иногда возникает рассогласование конфигурации на разных компьютерах - последние версии 1С хранят копии конфигураций локально, в кэше. Если при сетевом доступе на одной машине база работает, а на другой нет, - нужно на неработающем компьютере удалить запись о базе в начальном диалоге и создать ее заново, при этом кэш будет пересоздан.

P.P.S. Еще один найденный "в боевых условиях" метод. Признаки ошибки - после сбоя в какую-то таблицу базы попала запись с NULLевыми значениями. Тестирование-исправление при этом падает на реструктуризации, отобрать и удалить пустую запись не получается просто так - ни отборы запросом, ни "кодовые" методы ее не видят. Найденное решение  - смотрим в "операциях" ошибочную таблицу отсортированную по возрастанию, считаем количество ошибочных записей. Потом получаем всю таблицу запросом с сортировкой по возрастанию и записываем обратно уже без n-первых ошибочных записей.

См. также

Комментарии
1. Макcим (DarkAngel777) 57 30.07.09 10:31 Сейчас в теме
3) Исправить метаданных конфигурации (начиная с 8.1.10) Вызывается из конфигуратора, конфигурация/проверка, нужны две верхних галочки

вот поподробнее можно, что то ненашел я в 8.1.12
DMG2011; Tatitutu; +2 Ответить
2. Владимир Потапов (keleg) 301 30.07.09 10:33 Сейчас в теме
Точнее - конфигурация/проверка конфигурации, там еще значок с двумя галочками. У меня как раз 8.1.12 перед глазами и оно там явно есть!
3. Макcим (DarkAngel777) 57 30.07.09 10:37 Сейчас в теме
Спасибо, необращал внимания
4. Владимир Потапов (keleg) 301 30.07.09 10:40 Сейчас в теме
Только что этот пункт меню меня спас (сеть розничных магазинов вновь работает :) что и подвигло меня на написание данной статьи.
5. Андрей Скляров (coder1cv8) 3293 30.07.09 11:25 Сейчас в теме
Все очевидно, но за собрание в одном месте - плюс! Будет куда ссылку давать чайникам :)
ЗЫ: Добавь пункт об очистки кэша конфигурации.
Tatitutu; keleg; +2 Ответить 1
6. Александр Рытов (Арчибальд) 2659 30.07.09 11:33 Сейчас в теме
(5)Точно, ссылку под рукой надо держать :))
7. Gamm (Gamm) 13 30.07.09 12:19 Сейчас в теме
%SystemDrive%\Documents and Settings\%UserName%\Application data\1cv81\ - каталог с настройками пользователя
%SystemDrive%\Documents and Settings\%UserName%\Local setting\Application data\1cv81\ - каталог кеша конфигурации
German; Tatitutu; +2 Ответить 1
8. gilv (Gilev.Vyacheslav) 30.07.09 12:31 Сейчас в теме
(0) Ну на счет 7го пункта погрячился,
еще можно отдать мне базу на лечение )))
artbear; salexdv; +2 Ответить
9. Владимир Потапов (keleg) 301 30.07.09 12:32 Сейчас в теме
(7) это для XP, причем Documents an settings может лежать и не на системном диске. Для висты путь совсем другой и точнее бы начало пути указывать через
%USERPROFILE%, тогда, видимо, получится
%USERPROFILE%\Application data\1cv81\
и
%USERPROFILE%\Local setting\Application data\1cv81\
причем для простого пользователя эти папки недоступны(по крайней мере на моем рабочем компе так - у нас все строго:)
Поэтому, чтобы не путаться, я написал о штатном методе пересоздания кэша. Правда, если база грузится из командной строки, указанный в статье метод не сработает. Тогда уже придется искать, где кэш лежит и ручками, ручками (FARовыми :-)
10. gilv (Gilev.Vyacheslav) 30.07.09 12:38 Сейчас в теме
(9) упоминаешь в суе висту - упоминай и севен )
11. Владимир Потапов (keleg) 301 30.07.09 12:41 Сейчас в теме
(10) на севене не запускал 1С, думаю, что там похоже на висту пути прописаны, у них один движок, как у 2000 и XP.
В общем, искать нужно каждый раз в профиле по "1cv81"
P.S. "всуе" :-)
12. gilv (Gilev.Vyacheslav) 30.07.09 12:56 Сейчас в теме
(11) корпоративные клиенты "в здравом уме" на висту не перейдут, и лучше ее не упоминать, чтобы не сбивать с толку остальных имхо )))
13. Владимир Потапов (keleg) 301 30.07.09 13:01 Сейчас в теме
(12) Ну, а мы кто? Сотня с гаком компьютеров под вистой без админских прав, 7ка и 8ка 1С. Вполне себе корпоративный клиент.
Причем, как я уже писал, файловые 1С под вистой с 1 сервис паком работают в разы быстрее, чем под XP (при достаточном объеме оперативки)
14. gilv (Gilev.Vyacheslav) 30.07.09 13:18 Сейчас в теме
Количество не качество. Это Ваше дело.
Как сказал один еврей из фильма "Армагедон": то что Вы не еврей, не страшно, у всех свои недостатки...
)))
15. Владимир Потапов (keleg) 301 30.07.09 13:28 Сейчас в теме
(14) Мы просто золотые партнеры MS. Получаем все нахаляву, но _обязаны_ пользоваться, потому Vista+Office2007. Кстати, все работает очень неплохо, комп недоступен по техническим проблемам всего несколько часов в год.
Разве что с MS Project бывают проблемы... но это уже совсем другая история.
P.S. А вообще-то я линуксоид, правда начинающий и домашний :-)
16. gilv (Gilev.Vyacheslav) 30.07.09 15:12 Сейчас в теме
(15) вот-вот, в каждом из нас есть что то хорошее )
17. Артур Аюханов (artbear) 867 30.07.09 15:43 Сейчас в теме
(9) В Висте, Винде 7 и 2008 есть соответствующая папка ( LocalRow ? - точное название не помню, она находится прямо в %USERPROFILE%\ ), которая сопоставлена бывшим папким App...Data из ХП
18. Оракул Айметдинов (jhfrek) 163 01.08.09 20:47 Сейчас в теме
19. Максим Богословский (ulen) 58 02.08.09 03:41 Сейчас в теме
К слову, был у меня один случай с падением базы, при этом работоспособной она осталась только с одной машины, видимо кэшь там остался тот что надо, ни какие методы по лечению не помогли (тестирование, загрузка, выгрузка, удаление и т.д.), ошибка заключалась в следующем:
- база вылетает при открытии некоторых документов
- база вылетает при открытии форм этих же документов в конфигураторе
Пробовал даже загрузить чистую конфигурацию такого же релиза (не говорю уже об сравнении объеденении).

А помогло - , удаление форм данных документов, и загрузка их из чистого релиза.

Как объяснить то что полная загрузка... полностью не замещает старую конфигунацию!?
20. Владимир Потапов (keleg) 301 03.08.09 04:19 Сейчас в теме
(19) Дык, в конфе много раз об этом писали. Если кэш заклинит, то потом ничего не помогает - конфигурация берется из него, хоть тресни. Помогает только стирание кэша.
21. Максим Богословский (ulen) 58 03.08.09 15:23 Сейчас в теме
(20) Да в том то и дело, что кешь не брался была даже попытка просто скопировать файл базы... не нтфсными же потоками этот кешь крепицца...
22. Анатолий Максимов (MaxTolya) 03.08.09 22:30 Сейчас в теме
Был случай - после вылета в процессе обновления база не открывалась даже конфигуратором.
Тогда создал чистую базу, окрыл конфигуратором, потом файлы в папке новой базы заменил на сломанные. 1С ругнулась, что база изменена и предложила перезагрузить саму себя. Согласился - и все проехало. Потом осталось только прогнать тестирование-исправление.
23. Георгий Победоносец (Победоносец) 08.09.09 16:41 Сейчас в теме
А у меня другая беда.
1. Слетела база (1С 8.1.13.41, файловая, ошибка dbeng8).
2. После перезапуска в справочниках появились пустые записи, которые ни редактировать, ни удалить не возможно.
3. Попробовал в Конфигураторе сделать "Тестирование и восстановление". Выдало ошибку файла базы 1Cv8.1CD.
4. Пропустил файл базы через утилиту chbdfl.exe. Утилита ответила мне, что все ошибки исправила.
5. Посмотрел в базу - пустые записи исчезли, но появились другие, которые ни удалить, ни изменить не удаётся.
6. Вернулся на п. 3. Но при проверке целостности получаю "Ошибка SDBL: Поле Fld7939 таблицы VT7922 не может принимать значение NULL (pos=2295)".
7. Протестировал в Конфигураторе базу за предыдущие сутки перед падением. В ней полный ажур.

Больше ни какие танцы с бубном не помогают. Что посоветуют знатоки? Сам я с такой проблемой пока не сталкивался.

Самое плохое, что пользователи продолжают вбивать в базу данные. И если не удастся восстановить нормальную структуру данных, то придётся их обрадовать, что надо перебить несколько дней ручками снова.
24. Георгий Победоносец (Победоносец) 08.09.09 16:43 Сейчас в теме
Ещё добавлю. Пробовал выгрузку / загрузку информационной базы. Выгружает без ругательств. Загружает без ругательств. Но после загрузки повторяется п. 6.
25. Владимир Потапов (keleg) 301 14.12.09 04:38 Сейчас в теме
(24) Кстати, дописал я недавно к стате кажется и ваш случай.
Получаешь таблицу, отсортированную по возрастанию чтоб пустые записи "всплыли" а потом записываешь обратно без них.
26. Alex (LeLique) 19.04.10 05:34 Сейчас в теме
При настройке обмена даннымм Бух - Ут, рухнула база УТ 10.3.
После того как отладка в конфигураторе показала неизвестную ошибку, рухнул и конфигуратор по УТ. Пытался восстановить файловую целостность с помощью утилиты, нашла ошибки, исправила, при повторной проверке показала что ошибок больше нет. При этом ни конфигуратор, ни Управление торговлей не запускаются, просто вылетают на старте. Создал новую базу по УТ, все работает. Что делать? Как теперь информацию спасти со старой базы или наладить ее работоспособность? Кэш тоже чистил, не помогло.
Помогите люди добрые.
27. Владимир Потапов (keleg) 301 19.04.10 10:17 Сейчас в теме
(26) Удалить все файлы, кроме самого файла базы пробовали?
28. Alex (LeLique) 21.04.10 07:31 Сейчас в теме
(27) ДА пробовал, не помогает, пробовал и кэш чистить, и заменять файлы в чистой конфигурации, не помогает тоже... Отдал спецам, они как то умудрились разложить базу на Exel таблицы с данными, которые потом в ручную можно перенести в чистую. Но вот денег они запросили за это целую кучу, если кто занет как это сделать, то буду рад помощи...
29. Vasilii Markin (UUUU4) 24.04.10 13:24 Сейчас в теме
смотрим в "операциях" ошибочную таблицу
- это какя табица :?: И зи под чиво мы на неё смотрим :?:
30. Владимир Казначеев (Mogidin) 121 16.08.10 11:48 Сейчас в теме
Вот про последнее поподробнее.
При проверке конфигурации получаю такой выхлоп:

Проверка логической целостности. РегистрСведений.ГрафикиРаботыПоВидамВремени.Измерение.ГрафикРаботы :01.01.0001 0:00:00:ложь::01.01.0001 0:00:00
Неверный тип хранимого значения. Сохранено пустое значение допустимого типа.
Проверка логической целостности. РегистрСведений.ГрафикиРаботыПоВидамВремени.Измерение.ВидУчетаВремени :01.01.0001 0:00:00:ложь::01.01.0001 0:00:00
Объект, на который ссылается значение, отсутствует. Ссылка очищена.
Проверка логической целостности. РегистрСведений.ГрафикиРаботыПоВидамВремени.Реквизит.Документ :01.01.0001 0:00:00:ложь::01.01.0001 0:00:00
Неверный тип хранимого значения. Сохранено пустое значение допустимого типа.


При попытке реструктуризации базы:

В процессе обновления информационной базы произошла критическая ошибка.
по причине:
Ошибка СУБД:
Ошибка SQL: Запись значения NULL в поле, не допускающее NULL '_FLD5111_TYPE'
по причине:
Ошибка SQL: Запись значения NULL в поле, не допускающее NULL '_FLD5111_TYPE'


Открываю в рабочем режиме регистр сведений ГрафикиРаботыПоВидамВремени, вижу вверху строчку с пустыми полями. Удаляю её, через пару секунд она появляется обратно. Попытка её изменить заканчивается
Ошибка SDBL:
Ожидается CAST, идентификатор или константа (pos=1075)
завершить работу/перезапустить


Проверка chdbfl'ом проходит гладко, без найденных ошибок.
31. Владимир Потапов (keleg) 301 17.08.10 05:10 Сейчас в теме
(29) Название таблицы на которой падает можно увидеть из сообщений статуса при тестировании-исправлении.
(30) Кодом получаешь все записи регистра, чистишь его и записываешь их обратно же без n первых ошибочных строк (сортировка должна быть включена, чтоб ошибочные записи "всплыли".
32. Ирина Киселева (irishka77) 19.01.12 13:53 Сейчас в теме
Спасибо! 7-ку могла по файлам собирать с полетевшего диска, с 8-кой пока не приходилось так возиться(тьфу-тьфу)
33. Алексей (Дядя Васька) 26.01.13 00:17 Сейчас в теме
(32) Погугли Tool_1CD. Не гинеколог, но посмотреть может )
34. Елена Пименова (Bukaska) 122 26.01.13 00:33 Сейчас в теме
Нашла по настройкам! Спасибо,буду знать! За статью ставлю однозначно +)
35. LADNN LADNN (LADNN) 11 14.02.14 09:00 Сейчас в теме
36. Артём Алтухов (Fannasankh) 14 03.09.14 16:02 Сейчас в теме
(26) LeLique, ну как оно? Заработало уже? :)
38. Яна Каминская (YaKaminskaya) 01.12.14 16:20 Сейчас в теме
Очень мне помогло,уже со второго пункта все заработало!
Оставьте свое сообщение