Поделиться через


Функция JetExternalRestore2

Применимо к: Windows | Windows Server

Функция JetExternalRestore2

Функция JetExternalRestore2 восстанавливает внешнюю резервную копию, созданную с помощью API внешних резервных копий, и предоставляет контрольные точки для циклических операций ведения журнала. Это называется жестким восстановлением, которое похоже, но отличается от мягкого восстановления, выполняемого функцией JetInit .

Windows XP: JetExternalRestore2 появилась в Windows XP.

    JET_ERR JET_API JetExternalRestore2(
      __in          JET_PSTR szCheckpointFilePath,
      __in          JET_PSTR szLogPath,
      __in_opt      JET_RSTMAP* rgrstmap,
      __in          long crstfilemap,
      __in          JET_PSTR szBackupLogPath,
      __in_out      JET_LOGINFO* pLogInfo,
      __in_opt      JET_PSTR szTargetInstanceName,
      __in_opt      JET_PSTR szTargetInstanceLogPath,
      __in_opt      JET_PSTR szTargetInstanceCheckpointPath,
      __in          JET_PFNSTATUS pfn
    );

Параметры

szCheckpointFilePath

Путь к файлу контрольной точки, используемому во время восстановления, если szTargetInstanceCheckpointPath не указан или этот путь имеет активный или запущенный экземпляр.

szLogPath

Путь или каталог для журналов для заключительного этапа (отмена) восстановления и, возможно, для журналов наката. Этот путь может совпадать с szBackupLogPath.

rgrstmap

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

crstfilemap

Количество записей в параметре массива rgrstmap .

szBackupLogPath

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

pLogInfo

PLogInfo описывает несколько аспектов резервного копирования журналов для восстановления. Этот параметр позволяет JetExternalRestore2 принимать явные параметры genLow и genHigh, которые есть у JetExternalRestore2, а также базовое имя журнала вместо предполагаемого базового имени журнала "edb".

szTargetInstanceName

Этот параметр является устаревшим и не может использоваться в приложении.

szTargetInstanceLogPath

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

szTargetInstanceCheckpointPath

Путь к контрольной точке во время восстановления, если на этом целевом объекте нет активного экземпляра. Это не следует указывать, если целевой экземпляр использует циклическое ведение журнала.

Pfn

Обратный вызов состояния, который сообщает о ходе восстановления.

Возвращаемое значение

Эта функция возвращает тип данных JET_ERR с одним из следующих кодов возврата. Дополнительные сведения о возможных ошибках ESE см. в разделах Ошибки подсистемы расширяемого хранилища и Параметры обработки ошибок.

Код возврата

Описание

JET_errSuccess

Операция выполнена успешно.

JET_errBadRestoreTargetInstance

Указанный szTargetInstanceLogPath не принадлежит инициализированному экземпляру. Эта ошибка будет возвращена только в Windows XP и более поздних версиях.

JET_errDatabaseCorrupted

Это означает, что база данных повреждена или нераспознанный файл.

JET_errEndingRestoreLogTooLow

Эта ошибка возвращается, если один из файлов журнала в szBackupLogPath имеет выше поколение журнала, указанное в genHigh или pLogInfo.ulGenHigh.

JET_errFileNotFound

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

JET_errInvalidParameter

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

JET_errInvalidPath

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

JET_errOutOfMemory

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

JET_errRestoreOfNonBackupDatabase

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

JET_errRunningInOneInstanceMode

Ядро СУБД не может выполнять внешнее восстановление или жесткое восстановление в режиме одного экземпляра. Эта ошибка будет возвращена только в Windows XP и более поздних версиях.

JET_errStartingRestoreLogTooHigh

Эта ошибка возвращается, если один из файлов журнала в szBackupLogPath имеет поколение журнала ниже, указанное в genLow или pLogInfo.ulGenLow.

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

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

Комментарии

См. статью JetExternalRestore.

Требования

Требование Значение

Клиент

Требуется Windows Vista или Windows XP.

Сервер

Требуется Windows Server 2008 или Windows Server 2003.

Верхняя часть

Объявлено в Esent.h.

Библиотека

Используйте ESENT.lib.

DLL

Требуется ESENT.dll.

Юникод

Реализовано как JetExternalRestore2W (Юникод) и JetExternalRestore2A (ANSI).

См. также:

JET_ERR
JET_LOGINFO
JET_PFNSTATUS
JET_RSTMAP
JetBeginExternalBackup
JetExternalRestore
JetInit