Я написал код, который создает полные резервные копии моей базы данных ESENT с использованием JetBeginExternalBackup API.
Следуя указаниям MSDN, я создавал резервные копии всех файлов, возвращаемых JetGetAttachInfo и JetGetLogInfo.
Я сделал резервную копию, стер старую базу данных и скопировал данные резервной копии в папку базы данных.
Движок БД не смог запуститься, код ошибки JetInit - «JET_errMissingLogFile».
Я проверил резервную копию, она содержит только файл базы данных и файлы журнала " XXXXX.log". В нем отсутствует текущий файл журнала (я использую циклическое ведение журнала, кстати).
Есть ли способ восстановить такую резервную копию?
Я не хочу использовать API JetExternalRestore, потому что он слишком сложный: мне не нужно восстанавливать в другое место, я не понимаю, почему есть 3 папки ввода, а не 2 значения для предоставления в аргументах genLow и genHigh.
Мне нужны внешние резервные копии: база данных ESENT используется ASP.NET на удаленном сервере, и я выполняю резервное копирование через Интернет.
Или, может быть, есть способ получить имя текущего файла журнала, и я должен просто добавить его в резервную копию?
Заранее спасибо!
P.S. У меня нет прав для охвата процессов на моем веб-сервере, поэтому использование eseutil.exe не вариант.