Вопрос по recovery, corruption, sqlite, database, sqlite3 &#8211 Как восстановить поврежденную базу данных SQLite3?

Содержание

Как восстановить повреждённую или удалённую базу 1С (на примере «1С: Предприятие 8.3»)

В статье показаны способы восстановления базы 1С с помощью встроенных в программу инструментов или сторонних приложений
. Как создать и восстановить резервную копию базы данных. Для большинства пользователей продуктов компании 1С, повреждение или утеря базы «1С: Предприятие» есть тем, о чём даже боятся говорить. Для них, задача по восстановлению базы данных кажется просто нереальной, а её утеря страшной трагедией.

На самом деле, продукты компании 1С являются таким же программным обеспечением, как и любое другое. Информация, которую пользователи вносят в свои базы данных сохраняется в файлах, из которых можно создавать резервные копии или восстанавливать в случае повреждения или удаления. Часто для этого достаточно встроенных в «1С: Предприятие»
инструментов, но и о стороннем программном обеспечении также забывать не стоит.

Содержание:

Файлы базы данных 1С

Для лучшего понимания того, каким образом происходит восстановление повреждённых или утерянных баз 1С, давайте ознакомимся с файлами, в которых они сохраняются.

По умолчанию, каталогом информационной базы, в котором кроме файла самой базы 1С сохраняются все файлы, которые имеют к ней отношение, является папка в Документах пользователя: C:UsersИмя ПользователяDocumentsInfoBase

В этой папке хранятся все файлы, которые имеют отношение к данной базе данных.

К таким файлам относятся:

  • *.1CD
    – файл самой базы данных, который по умолчанию имеет название 1Cv8.1CD. Данный файл включает в себя все данные, которые внесены в базу данных, а также их конфигурацию;
  • *.cf, *.cfu (*.cfl), *.dt, *.epf (*.erf)
    – конфигурационные файлы базы данных;
  • *.log, *.lgf, *.lgp, *.elf
    – лог файлы;
  • *.cdn
    – файл блокировки базы данных 1С;
  • *.efd
    – архивный файл 1С;
  • *.mft
    – вспомогательный файл конфигурации шаблона;
  • *.st
    – файл шаблонов текстов
  • *.mxl
    – файл печатных форм базы данных 1С;
  • *.grs
    – файл графических схем базы данных 1С;
  • *.geo
    – файл географических схем базы данных 1С.

Признаки и причины повреждения базы 1С

Признаки повреждения базы данных 1С могут быть самые разнообразные, это сбои при работе с базой или её внезапное закрытие, зависание, разнообразные сообщение о наличии ошибок во время работы с ней или при запуске. Часто «1С: Предприятие»
сообщая о наличии ошибки при выполнении операции с информационной базой так и описывает её «…Файл базы повреждён»
.

Причины повреждения базы 1С могут быть физического или логического происхождения.

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

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

Создание и восстановление из резервной копии базы 1С

Мы уже множество раз упоминали об этом в наших статьях – лучшим способом сохранить ваши данные есть создание их резервной копии. Для базы 1С данный способ также актуален.

Чтобы создать резервную копию базы данных 1С:

  • Запустите 1С в режиме Конфигуратор

  • В окне программы в режиме Конфигуратор перейдите в меню Администрирование
    / Выгрузить информационную базу…

  • После указания папки для выгрузки информационной базы, она будет сохранена в файл *.dt.

Чтобы восстановить базу данных 1С из резервной копии:

  • Запустите 1С в режиме Конфигуратор
    , как указано в предыдущем пункте и перейдите в меню Администрирование
    / Загрузить информационную базу…

  • Выберите *.dt файл резервной копии базы и загрузите его.

Восстановление повреждённой информационной базы 1С

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

Восстановление с помощью Конфигуратора

Для устранения ошибок базы 1С в её конфигураторе предусмотрена функция «Тестирование и исправление…»
. Чтобы воспользоваться ею:

  • Запустите 1С в режиме Конфигуратор
    и перейдите в меню Администрирование
    / Тестирование и исправление

  • Укажите параметры тестирования и исправления базы данных в открывшемся меню и нажмите «Выполнить»

  • Результаты тестирования будут отображены в нижней части окна Конфигуратора
    .

Восстановление с помощью chdbfl.exe

В каждой версии платформы «1С: Предприятие»
есть утилита, которая предназначена для отладки повреждённых информационных баз. С внутреннего меню платформы доступа к данной утилите нет. Но она устанавливается вместе с установкой платформы. Чтобы запустить её, перейдите в папку, в которую установлена платформа 1С на вашем компьютере: C:Program Files (x86)1cv88.3.8.1652bin
(где, 8.3.8.1652 – номер релиза платформы (разный для разных релизов))

Найдите и запустите в данной папке файл chdbfl.exe – это и есть утилита отладки информационных баз 1С. После запуска утилиты, укажите с её помощью файл базы данных нажав троеточие справа от поля «Имя файла БД»
, и поставьте галочку возле функции «Исправлять обнаруженные ошибки»
. Задав необходимые параметры – нажмите кнопку «Выполнить»
.

Все обнаруженные ошибки и другие действия утилиты будут отображены в окне chdbfl.exe.

Восстановление с помощью НЕХ-редактора

В особо сложных случаях или если предыдущие два способа отладки информационной базы не принесли желаемого результата, теоретически восстановить её возможно с помощью HEX-редактора. Для этого необходимо открыть в HEX-редакторе основной файл базы данных *.1CD.

Минусом данного способа есть то, что данный способ исправления повреждённой базы 1С могут осуществлять только опытные и разбирающиеся в HEX специалисты.

Нельзя не отметить, что Hetman Partition Recovery
имеет встроенный HEX-редактор, который можно использовать для исправления повреждённых файлов.

Как восстановить удалённую информационную базу 1С

Если в результате случайного удаления, переустановки операционной системы, форматирования жесткого диска или другого носителя информации на котором хранилась база 1С, она была утеряна, то восстановить её можно с помощью Hetman Partition Recovery. Для этого:

  • Запустите утилиту и выберите диск с которого удалена база 1С

  • Кликните на нём дважды и укажите необходимый тип анализа

  • После окончания процесса анализа, найдите с помощью программы папку с файлами информационной базы и восстановите их, предварительно добавив к списку восстановления

Примечание
. Аналогичным образом можно восстановить утерянный файл резервной копии информационной базы 1С – 1Cv8.dt.

  • Восстановленный *.dt файл загрузите в информационную базу описанным выше способом.
  • Если информационная база восстановлена пофайлово, то откройте её основной файл 1Cv8.1CL с помощью меню 1С Файл
    / Открыть
    .

Все описанные в данной статье способы восстановления базы данных 1С показаны на примере платформы «1С: Предприятие 8.3»
. Но эта информация также актуальна для других программ и конфигураций платформы:

  • 1С: Бухгалтерия
  • 1С: Предприниматель
  • 1С: Зарплата и управление персоналом
  • 1С: Управление торговлей
  • 1С: Розница
  • 1С: Управление Холдингом
  • 1С: Управление предприятием
  • 1С: Предприятие. Управление производственным предприятием
  • 1С: Комплексная автоматизация
  • 1С: Документооборот
  • 1С: Консолидация
  • 1С: Управление небольшой фирмой
  • 1С: Налогоплательщик
  • 1С: Отчётность предпринимателя
  • 1С: Платёжные документы
  • 1С: Бухгалтерия государственного учреждения
  • 1С: Зарплата и кадры бюджетного учреждения
  • 1С: Свод отчётов
  • 1С: Бюджетная отчётность
  • 1С: Документооборот государственного учреждения
  • 1С: Государственные и муниципальные закупки
  • 1С: Бюджет поселения
  • 1С: Бюджет муниципального образования
  • 1С: Деньги
  • 1С: Электронное обучение и пр.

Как в 1С восстановить поврежденную базу – Обучение программированию – Проект 'Курсы 1С'

О чем эта статья

Эта статья является продолжением цикла статей «Первые шаги в 1С». В ней рассмотрены типовые приемы восстановления базы 1С на платформе «1С:Предприятие 8» после сбоев. Предполагается, что база работает в файловом режиме работы. Восстановление базы в клиент-серверном режиме работы не рассматривается, т.к. данный вопрос явно выходит за рамки “первых” шагов начинающего специалиста.

Материал статьи детально раскроет ответы на следующие вопросы:

  • Что нужно делать до начала всех работ по восстановлению? (копию, Карл!)
  • Какие тонкости есть при использовании утилиты проверки?
  • Какие средства для восстановления есть в конфигураторе?
  • Когда и зачем нужно делать выгрузку/загрузку в формат *.dt?
  • Если все вышеописанное не помогло, что можно еще попробовать?

Применимость

Статья написана для платформы «1С:Предприятие» версии 8.3.4.496, но не переживайте, если вы работаете с более старшей версией! Весь материал является абсолютно актуальным.

Как в 1С восстановить поврежденную базу «1С:Предприятие 8»

Порой для новичка данная задача кажется просто нереальной. Хотя, на самом деле, есть ряд нехитрых штатных средств тестирования баз 1С и приемов исправления возникающих ошибок.

Появление различного рода систематических сбоев (ошибок, неверно отображаемых данных, аварийное закрытие программы) можно считать повреждением базы.

Причины возникновения критических ошибок бывают разнообразными. Чаще всего проблемы возникают из-за сбоев электропитания.

С уверенностью можно сказать, что при клиент-серверном режиме работы база более устойчива к возникновению ошибок.

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

Итак, главное не пугаться и перед попыткой восстановления базы сделать ее копию
.

Например, можно сначала скопировать всю папку, в которой размещена база, а затем в этой папке оставить только файл 1Cv8.1CD (файл базы) и папку 1Cv8Log (журнал регистрации событий).

На самом деле, в большинстве случаев базы подлежат восстановлению. Некоторые 1С-ники это поняли и с радостью перехватывают таких клиентов. Самому делать в большинстве случаев ничего особенного не надо, клиент испуган, а работа тестовых программ занимает не малое время.

Перейдем к практике. Сначала выясните у клиента, как давно и при каких обстоятельствах стали возникать сбои. Узнайте, как пользователи осуществляют обновление конфигурации и как по времени связаны эти два события. Уточните объем базы.

Даже если в данном конкретном случае выясненные обстоятельства решающим образом на Ваши последующие действия не повлияют, Вы сможете собрать некоторую статистику, которая может пригодиться в будущем.

Обязательно узнайте, обновлялась ли платформа, и под каким релизом платформы база работала до этого.

Первым делом удалите все файлы и папки, которые в заданной директории окружают файл базы (1Cv8.1CD). Да, это некие служебные файлы, обеспечивающие полноценную работу, но точно отмечено, что иногда в работе этих файлов возникает некоторое рассогласование.

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

Теперь используем самое эффективное, но еще далеко не последнее, средство. В директории C:Program Files1cv82 (для платформы 8.3 – 1cv8)(далее номер релиза платформы)bin
запустите утилиту chdbfl.exe.

Внимание! В каждом релизе платформы есть своя утилита chdbfl.exe. Целесообразно использовать утилиту из того релиза платформы, с которым использовалась данная база. В большинстве случаев – это последний установленный релиз платформы.

Здесь стоит сказать об одной особенности, если момент повреждения базы примерно совпадает с моментом обновления платформы, то утилита chdbfl.exe предыдущей платформы зачастую дает лучшие результаты в поиске и исправлении ошибок.

Однако рекомендуем идти сверху вниз (от старших релизов к младшим). В конечном итоге, первоначальная копия у Вас есть, и Вы всегда можете сделать еще одну копию и повторить весь цикл.

Особенность данной утилиты – если при первом проходе исправленных ошибок не было (утилита не смогла исправить ни одной ошибки), то повторно ее запускать, можно сказать, бесполезно.

Однако если ошибки исправлены не все, но при этом отмечается уменьшение количества ошибок, то имеет смысл запустить утилиту еще раз.

Были случаи, что за второй проход количество найденных ошибок изменялось до нуля. Одним словом, повторяйте операцию, пока есть результат уменьшения количества ошибок. Похоже, что некоторая часть исправленных ошибок при очередном проходе позволяет исправить еще и другие.

Далее, даже если Вам удастся добиться нулевого количества ошибок, имеет смысл воспользоваться средствами тестирования и исправления в конфигураторе.

Сами параметры тестирования и исправления, если Вы абсолютно четко не понимаете, что именно делаете, лучше не трогать.

Улучшение результатов тестирования при повторном использовании данного средства не отмечено.

Следует еще сказать о средстве проверки конфигурации. По опыту, ошибки, отмечаемые данным средством, не отличаются особой критичностью. Скорее они просто замедляют работу самой базы. Что, по сути, для баз размером свыше 4 Гб пользователем может расцениваться тоже как повреждение базы.

4 Гб – это максимально допустимый размер не самой базы, а таблицы в базе. Но какой-нибудь регистр может быть значительно больше остальных и занимать большую часть размера базы.

В данной форме также без абсолютно четкого понимания никаких настроек менять не стоит.

Следует сказать еще об одном не совсем очевидном методе. Дело в том, что при выгрузке базы в файл с расширением dt существует крайне низкая вероятность, что загрузить его обратно не удастся.

Однако при загрузке происходит некая реструктуризация памяти, что в отдельных случаях позволяет восстановить работу базы путем последовательной выгрузки и загрузки.

Если после всех проведенных мероприятий и испытаний Вы обнаружили, что Ваша база остается поврежденной, то целесообразно использовать и это средство.

Выгрузка производится в конфигураторе через меню Администрирование, пункт Выгрузить информационную базу
.

Появится диалоговое окно, в котором нужно будет указать направление выгрузки. Название создаваемого файла можно использовать по умолчанию – 1Cv8.dt.

Следует отметить, что выгрузка также является одним из возможных методов копирования.

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

В появившейся форме поменяйте настройку на Создание информационной базы без конфигурации
и также нажмите на кнопку Далее
. На последующих двух шагах определите имя базы и директорию (пустую), в которой она будет находится.

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

Загрузка производится через меню Администрирование
, пункт Загрузить информационную базу
.

Далее появится диалоговое окно, в котором необходимо указать ранее выгруженный файл для загрузки.

Еще пару моментов. Если неисправности в работе базы отмечаются только на одном компьютере, следует попробовать поменять компьютер. Если неисправности проявляются только у одного пользователя, то следует попытаться пересоздать пользователя.

Иногда помогает удаление базы из списка в окне информационных баз с последующим добавлением в список той же существующей информационной базы (восстановление пути к ней).

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

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

В следующей статье рассмотрим возможности по настройке списка информационных баз.

PDF-версия статьи для участников группы ВКонтакте

Мы ведем группу ВКонтакте – http://vk.com/kursypo1c.

Если Вы еще не вступили в группу – сделайте это сейчас и в блоке ниже (на этой странице) появятся ссылка на скачивание материалов
.

Если Вы уже участник группы
– нужно просто повторно авторизоваться в ВКонтакте, чтобы скрипт Вас узнал. В случае проблем
решение стандартное: очистить кеш браузера или подписаться через другой браузер.

Файл базы данных поврежден в 1С 8.3 или 8.2

Сообщение «Файл базы данных 1Cv8.1CD» характерно для файловых баз данных 1С 8.3 и 8.2. Повреждение может происходить в результате повреждения оборудования, или, чаще всего, в результате неожиданного отключения электроэнергии.

Перечислю действия, которые возможны при попытке избавиться от подобной ситуации:

  • Восстановить резервную копию, если она есть.
  • Сделать резервную копию поврежденной информационной базы.
  • Создать чистую информационную базу данных и загрузить в нее сделанную резервную копию.
  • Провести тестирование и исправление базы данных.
  • Использовать утилиту chdbfl.exe, которая поставляется в составе программного комплекса.

Теперь рассмотрим каждый пункт подробней.

Важно!
Обязательно обновите платформу 1С: Предприятие 8.3 до последней версии!

Восстановление резервной копии

Если у Вас настроено ежедневное резервное копирование, то Вам повезло. Нужно просто восстановить последнюю рабочую копию и работать дальше.

Чтобы восстановить рабочую резервную копию, нужно войти в конфигуратор, войти в меню «Администрирование» и выбрать «Загрузить информационную базу…»:

Во избежание ошибки советую сначала создать новую, пустую базу данных и загрузку делать в нее.

Но, к сожалению, на многих предприятиях пренебрегают регулярным резервированием базы. Поэтому придется пытаться восстановить поврежденный экземпляр.

Делаем резервную копию поврежденной информационной базы

Перед любыми дальнейшими действиями необходимо сделать резервную копию базы.

Получите 267 видеоуроков по 1С бесплатно:

  • Бесплатный видео самоучитель по 1С Бухгалтерии 8.3 и 8.2;
  • Самоучитель по новой версии 1С ЗУП 3.0;
  • Хороший курс по 1С Управление торговлей 11.

Резервная копия делается почти так же, как и загрузка информационной базы, только в меню «Администрирование» выбираем пункт «Выгрузить информационную базу…».

Если повреждения в базе данных довольно серьезные, штатная выгрузка может не пройти. В таком случае нужно выйти из конфигуратора, создать новый каталог на диске и скопировать в него файл 1Cv8.1CD. Это и есть база данных:

Кстати, после этого можно попробовать подключиться к этому новому каталогу и запустить программу. Дело в том, что ошибка может таиться в файлах кэша, а в новом каталоге их не будет, и база может нормально запуститься.

Если проблема не исчезла, продолжаем ремонт системы.

Тестирование и исправление базы данных

Если конфигуратор доступен, заходим в него и идем в меню «Администрирование». Там выбираем пункт «Тестирование и исправление…»:

Насчет настроек данного режима единого мнения нет. Я предпочитаю устанавливать указанные на рисунке.

В разделе «Проверка и режимы», если база данных большая, флажки можно устанавливать поочередно и смотреть после выполнения результат.

Выбор «Только тестирование» считаю бесполезным, так как ошибки все равно исправлять надо. Если что-то будет не так, у нас есть резервная копия.

При наличии ссылок на несуществующие объекты программа по умолчанию предлагает ничего не изменять. Не знаю, насколько это эффективно, я сразу ставлю «Создавать объекты». Вы можете сначала попробовать «Не изменять». Программа должна вывести все найденные такие ссылки, и после этого нужно принимать решение, очищать их или создавать.

После выполнения настроек нажимаем кнопку «Выполнить». Если все проходит гладко, значит, база восстановлена, о чем будет сообщено.

Но опять же, во время тестирования может возникать критическая ошибка, и действие не завершается.

Тогда пробуем еще один способ.

Использование утилиты chdbfl.exe

В каталоге с установкой системы имеется файл chdbfl.exe. Путь к папке с файлом проще всего найти следующим образом. На ярлыке запуска программы 1С нажимаем правой кнопкой мышки и выбираем пункт «Свойства». Откроется следующее окно:

Нас интересует только выделенная часть. Далее находим папку с последней установкой платформы, далее каталог bin. Вот в нем и находится искомый файл:

Запускаем его. Запустится программа восстановления информационной базы:

Выбираем файл с нашей испорченной базой, ставим галочку «Исправлять ошибки» и нажимаем кнопку «Выполнить».

Каждый из описанных способов может/должен привести к исправлению ошибки в файле базы данных.

Смотрите также наше видео про восстановление базы после появления ошибок:

К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.

Оцените статью, пожалуйста!

Ссылка на основную публикацию
Похожие публикации