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


Функция JetEndExternalBackupInstance2

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

Функция JetEndExternalBackupInstance2

Функция JetEndExternalBackupInstance2 завершает внешний сеанс резервного копирования. Этот API является последним API в серии API, которые необходимо вызвать для успешного выполнения оперативного резервного копирования (не на основе VSS).

Windows XP: JetEndExternalBackupInstance2 появился в Windows XP.

    JET_ERR JET_API JetEndExternalBackupInstance2(
      __in          JET_INSTANCE instance,
      __in          JET_GRBIT grbit
    );

Параметры

Экземпляр

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

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

Windows XP: Для Windows XP и более поздних версий вариант API, который не принимает этот параметр, можно вызывать только в том случае, если подсистема находится в устаревшем режиме (режим совместимости с Windows 2000), где поддерживается только один экземпляр. В противном случае операция завершится сбоем с JET_errRunningInMultiInstanceMode.

grbit

Группа битов, задающая ноль или несколько следующих параметров.

Значение

Значение

JET_bitBackupEndAbort
0x0002

Клиентское приложение прерывает резервное копирование.

JET_bitBackupEndNormal
0x0001

Клиентское приложение полностью завершило резервное копирование и завершается обычным образом.

JET_bitBackupTruncateDone
0x0100

Windows Vista: JET_bitBackupTruncateDone появилась в Windows Vista.

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

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

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

Код возврата

Описание

JET_errSuccess

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

JET_errBackupAbortByCaller

Windows XP: Это возвращаемое значение появилось в Windows XP.

Вызывающий объект завершил резервное копирование в середине последовательности резервного копирования, не сигналив о намерении с помощью JetStopBackup. Эта ошибка является результатом ошибки в клиенте резервного копирования в Windows Server 2003 и более поздних версиях. В Windows XP эта ошибка возвращается для преднамеренного завершения внешней последовательности резервного копирования.

JET_errBackupAbortByServer

Windows Server 2003: Это возвращаемое значение появилось в Windows Server 2003.

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

JET_errClientRequestToStopJetService

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

JET_errInstanceUnavailable

Windows XP: Это возвращаемое значение появилось в Windows XP.

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

JET_errNoBackup

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

JET_errNotInitialized

Операция не может завершиться, так как экземпляр, связанный с сеансом, еще не инициализирован.

JET_errRestoreInProgress

Операция не может завершиться, так как в экземпляре, связанном с сеансом, выполняется операция восстановления.

JET_errRunningInMultiInstanceMode

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

JET_errTermInProgress

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

Если функция выполнена успешно, внешнее резервное копирование выполнено успешно. Успех означает, что все файлы (например, базы данных и журналы), соответствующие типу резервного копирования (указанному в JetBeginExternalBackup), были получены из подсистемы резервного копирования. Резервные копии файлов можно восстановить с помощью функции жесткого восстановления (JetExternalRestore).

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

Комментарии

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

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

Дополнительные сведения о внешней последовательности API резервного копирования см. в разделе JetBeginExternalBackup.

До Windows Vista, если усечение журнала не было выполнено, подсистема считала резервное копирование резервной копией. Однако резервное копирование может быть обычным резервным копированием, для которого не было выполнено усечение (например, при наличии отсоединяемых баз данных). Параметр JET_bitBackupTruncateDone можно использовать для информирования подсистемы об этом и разрешения соответствующих изменений заголовков базы данных.

Требования

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

Клиент

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

Сервер

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

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

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

Библиотека

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

DLL

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

См. также:

Параметры обработки ошибок
Ошибки подсистемы расширяемого хранилища
JET_ERR
JET_GRBIT
JetAttachDatabase
JetBeginExternalBackup
JetBeginExternalBackupInstance
JetCloseFile
JetExternalRestore
JetGetAttachInfo
JetGetLogInfo
JET_INSTANCE
JetOpenFile
JetReadFile
JetStopBackup
JetStopService
JetTruncateLog