gifts2017

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

Опубликовал Владимир Потапов (keleg) в раздел Администрирование - Системное

База 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-первых ошибочных записей.

См. также

PowerTools от 1 000
Подписаться Добавить вознаграждение

Комментарии

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

вот поподробнее можно, что то ненашел я в 8.1.12
DMG2011; Tatitutu; +2 Ответить
2. Владимир Потапов (keleg) 30.07.09 10:33
Точнее - конфигурация/проверка конфигурации, там еще значок с двумя галочками. У меня как раз 8.1.12 перед глазами и оно там явно есть!
3. Макcим (DarkAngel777) 30.07.09 10:37
Спасибо, необращал внимания
4. Владимир Потапов (keleg) 30.07.09 10:40
Только что этот пункт меню меня спас (сеть розничных магазинов вновь работает :) что и подвигло меня на написание данной статьи.
5. Андрей Скляров (coder1cv8) 30.07.09 11:25
Все очевидно, но за собрание в одном месте - плюс! Будет куда ссылку давать чайникам :)
ЗЫ: Добавь пункт об очистки кэша конфигурации.
Tatitutu; keleg; +2 Ответить 1
6. Александр Рытов (Арчибальд) 30.07.09 11:33
(5)Точно, ссылку под рукой надо держать :))
7. Gamm (Gamm) 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) 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) 30.07.09 12:41
(10) на севене не запускал 1С, думаю, что там похоже на висту пути прописаны, у них один движок, как у 2000 и XP.
В общем, искать нужно каждый раз в профиле по "1cv81"
P.S. "всуе" :-)
12. gilv (Gilev.Vyacheslav) 30.07.09 12:56
(11) корпоративные клиенты "в здравом уме" на висту не перейдут, и лучше ее не упоминать, чтобы не сбивать с толку остальных имхо )))
13. Владимир Потапов (keleg) 30.07.09 13:01
(12) Ну, а мы кто? Сотня с гаком компьютеров под вистой без админских прав, 7ка и 8ка 1С. Вполне себе корпоративный клиент.
Причем, как я уже писал, файловые 1С под вистой с 1 сервис паком работают в разы быстрее, чем под XP (при достаточном объеме оперативки)
14. gilv (Gilev.Vyacheslav) 30.07.09 13:18
Количество не качество. Это Ваше дело.
Как сказал один еврей из фильма "Армагедон": то что Вы не еврей, не страшно, у всех свои недостатки...
)))
15. Владимир Потапов (keleg) 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) 30.07.09 15:43
(9) В Висте, Винде 7 и 2008 есть соответствующая папка ( LocalRow ? - точное название не помню, она находится прямо в %USERPROFILE%\ ), которая сопоставлена бывшим папким App...Data из ХП
18. Оракул Айметдинов (jhfrek) 01.08.09 20:47
19. Максим Богословский (ulen) 02.08.09 03:41
К слову, был у меня один случай с падением базы, при этом работоспособной она осталась только с одной машины, видимо кэшь там остался тот что надо, ни какие методы по лечению не помогли (тестирование, загрузка, выгрузка, удаление и т.д.), ошибка заключалась в следующем:
- база вылетает при открытии некоторых документов
- база вылетает при открытии форм этих же документов в конфигураторе
Пробовал даже загрузить чистую конфигурацию такого же релиза (не говорю уже об сравнении объеденении).

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

Как объяснить то что полная загрузка... полностью не замещает старую конфигунацию!?
20. Владимир Потапов (keleg) 03.08.09 04:19
(19) Дык, в конфе много раз об этом писали. Если кэш заклинит, то потом ничего не помогает - конфигурация берется из него, хоть тресни. Помогает только стирание кэша.
21. Максим Богословский (ulen) 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) 14.12.09 04:38
(24) Кстати, дописал я недавно к стате кажется и ваш случай.
Получаешь таблицу, отсортированную по возрастанию чтоб пустые записи "всплыли" а потом записываешь обратно без них.
26. Alex (LeLique) 19.04.10 05:34
При настройке обмена даннымм Бух - Ут, рухнула база УТ 10.3.
После того как отладка в конфигураторе показала неизвестную ошибку, рухнул и конфигуратор по УТ. Пытался восстановить файловую целостность с помощью утилиты, нашла ошибки, исправила, при повторной проверке показала что ошибок больше нет. При этом ни конфигуратор, ни Управление торговлей не запускаются, просто вылетают на старте. Создал новую базу по УТ, все работает. Что делать? Как теперь информацию спасти со старой базы или наладить ее работоспособность? Кэш тоже чистил, не помогло.
Помогите люди добрые.
27. Владимир Потапов (keleg) 19.04.10 10:17
(26) Удалить все файлы, кроме самого файла базы пробовали?
28. Alex (LeLique) 21.04.10 07:31
(27) ДА пробовал, не помогает, пробовал и кэш чистить, и заменять файлы в чистой конфигурации, не помогает тоже... Отдал спецам, они как то умудрились разложить базу на Exel таблицы с данными, которые потом в ручную можно перенести в чистую. Но вот денег они запросили за это целую кучу, если кто занет как это сделать, то буду рад помощи...
29. name surname (UUUU4) 24.04.10 13:24
смотрим в "операциях" ошибочную таблицу
- это какя табица :?: И зи под чиво мы на неё смотрим :?:
30. Владимир Казначеев (Mogidin) 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) 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) 26.01.13 00:33
Нашла по настройкам! Спасибо,буду знать! За статью ставлю однозначно +)
35. LADNN LADNN (LADNN) 14.02.14 09:00
36. Артём Алтухов (Fannasankh) 03.09.14 16:02
(26) LeLique, ну как оно? Заработало уже? :)
38. Яна Каминская (YaKaminskaya) 01.12.14 16:20
Очень мне помогло,уже со второго пункта все заработало!
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа