Ситуация, когда журнал регистрации информационной базы внезапно начинает вестись с текущего момента, а вся предыдущая история действий пользователей исчезает, нередко возникает в практике системных администраторов и программистов 1С. Проанализируем физическое устройство хранения событий, выясним причины сброса истории и разберем по шагам способы поиска и восстановления утерянных данных.
Для понимания причин исчезновения записей разберем структуру каталогов платформы 1С:Предприятие в зависимости от архитектуры и типа базы данных:
1Cv8.1CD внутри подкаталога 1Cv8Log.C:\Program Files (x86)\1cv8\srvinfo\reg_1541\<GUID_базы>\1Cv8Log\.C:\Program Files\1cv8\srvinfo\reg_1541\<GUID_базы>\1Cv8Log\.Важное ограничение: журнал регистрации не входит в стандартный файл выгрузки .dt и не сохраняется внутри СУБД (MS SQL, PostgreSQL и др.). Он хранится исключительно в файловой системе сервера приложений 1С в папке srvinfo (или каталоге, указанном в параметрах запуска службы ragent через ключ -d).
Рассмотрим подробнее типовые ситуации, из-за которых журнал регистрации начинает вестись с новой даты:
srvinfo: при переходе с 32-битной платформы на 64-битную служба начинает использовать каталог в C:\Program Files\1cv8\ вместо C:\Program Files (x86)\1cv8\. Если каталог кластера не был перенесен вручную, создается новая пустая конфигурация кластера и новые папки журналов. Прежний журнал остается в старом каталоге.GUID. Предыдущий журнал остается в подкаталоге со старым идентификатором, а база начинает писать лог в созданную папку с новым GUID..lgf и .lgp) и монолитный на базе SQLite (файл 1Cv8.lgd). При изменении формата в свойствах журнала через Конфигуратор старые записи не конвертируются автоматически на лету — новый журнал создается с нуля, а старые файлы остаются неактивными в той же папке.1Cv8.lgd может получить повреждения структуры SQLite, из-за чего платформа перестает видеть старые блоки записей.Разберем по шагам процедуру восстановления истории событий в клиент-серверном варианте:
1CV8Reg.lst (находится в reg_1541) текстовым редактором и найдем имя нашей базы и связанный с ней параметр {GUID}.GUID в папке srvinfo\reg_1541\, а также в каталогах другой разрядности (Program Files и Program Files (x86)).1Cv8Log. Если найден каталог с записями за прошлый период, остановим службу сервера 1C:Enterprise Server Agent..lgf/.lgp или файл 1Cv8.lgd) из каталога старого GUID в каталог актуального GUID базы.1Cv8.lgd восстановим целостность базы SQLite с помощью штатных утилит или воспользуемся теневыми копиями тома Windows (VSS) для восстановления файла на дату до сбоя.