Добрый день.
Предыстория:
1. Есть серверная база данных. Работает с января 2018 г.
2. В 2019 был обрезан журнал регистрации (удалены данные до 01.01.2019).
3. Сейчас понадобились данные за 2018 год.
Проблема:
Копия данных журнала за 2018 год не сохранилась (потерялась/удалена/не была сделана).
Дополнительно:
Журнал был в новом формате (lgd). После очистки журнала, его размер не изменился. Смотрел в интернете, пишут, что для изменения размера нужно журнал упаковать (или перестроить, в общем команда vacuum). Но, поскольку для этого нужно останавливать сервер, то это сделано не было, а потом как-то забылось (забилось) и журнал не был упакован.
Вопрос:
Можно ли как-то восстановить удаленные записи в журнале?
Насколько я понимаю, физически записи не были удалены, а только "помечены на удаление". Или в SQLite это по другому работает?
Скачал DB Browser (SQLite), но он не видит этих данных.
В интернете натыкался на похожую программу (Просмотрщик баз данных SQLite), на скриншотах видно, что есть возможность просматривать удаленные, но она вроде как распространяется только в составе платного продукта.
Может кто-то сталкивался с подобной проблемой и может подсказать бесплатные программы? Или данные уже нельзя восстановить?
(24)если журнал был очищен давно и все это время велась работа с базой, то данных оттуда уже не достать. При удалении записей они маркируются удаленными, и считаются свободными для новых записей. Последующие новые записи будут писаться поверх этих помеченных
Как выше сказали, восстановить данные в полном объеме нереально. "Упаковка" - это всего лишь дефрагментация. "Очищенные" области используются для записи новых данных.
(19)По описанию похоже на то, что нужно, но, к сожалению, не помогло.
При восстановлении все поля со значением NULL. Видимо сами строки не удаляются, но данные в них очищаются.
Либо я не правильно использовал данный скрипт (что тоже не исключено)))
(24)если журнал был очищен давно и все это время велась работа с базой, то данных оттуда уже не достать. При удалении записей они маркируются удаленными, и считаются свободными для новых записей. Последующие новые записи будут писаться поверх этих помеченных
(2)Почитаю, но это вроде по восстановлению БД, а у нас БД в порядке, все данные есть. Обрезали журнал регистрации 1С (он всегда хранится отдельным файлом), а не журнал SQL.
(21)Так я уже сказал, "Данных нет, смиритесь...". Вообще это не так критично. Просто самому стало интересно, вдруг получится достать. Ну и на будущее полезно.
Можно сказать, для себя пытаюсь решить данную проблему, а не по работе.
(12)Журнал храниться не в базе, а отдельный файлом на сервере. Этот файл не бэкапится вместе с базой. + Его даже не скопировать, если кто-то работает с базой (или пока сервер 1С работает). Его хранение не так критично, поэтому не пытались даже резервные копии делать.
Бэкапы базы есть, но по ним не посмотреть.
(14)Журнал 1С храниться на сервере 1С в спец папке. Файл этот есть и с ним всё замечательно. Только его обрезали. И теперь вдруг понадобились данные из урезанной части. Поскольку при сокращении журнала размер файла не поменялся, я предположил, что данные в нем остались, но пометились как удаленные.
Вот в этом файле мне и нужно попытаться восстановить данные, а не в самой базе
(16) Нет. Она ищет файлы, а у меня файл не удален. Изменены данные внутри файла.
Можно было бы попытаться восстановить старую версию файла, но, во-первых, имя файла не поменялось, а значит ничего не выйдет, во-вторых, изменения были сделаны очень давно (в прошлом году, самое позднее в начале этого)
Как выше сказали, восстановить данные в полном объеме нереально. "Упаковка" - это всего лишь дефрагментация. "Очищенные" области используются для записи новых данных.
Всем спасибо, будем считать, что решение найдено, поскольку скрипт всё-таки восстанавливает данные, но к сожалению, получить нужную информацию не получилось. Скорее всего из-за того, что данные были удалены относительно давно.