Функция JetBackup
Применимо к: Windows | Windows Server
Функция JetBackup
Функция JetBackup создает резервную копию базы данных, пока база данных находится в сети. Эта функция в первую очередь предназначена для обратной совместимости с ядрами СУБД Windows 2000 и более ранних версий, где разрешен только один экземпляр базы данных. В этом случае активным экземпляром является экземпляр, резервная копия в который выполняется.
JET_ERR JET_API JetBackup(
__in JET_PCSTR szBackupPath,
__in JET_GRBIT grbit,
__in JET_PFNSTATUS pfnStatus
);
Параметры
szBackupPath
Каталог, в котором хранится резервная копия. Если путь резервного копирования имеет значение NULL, функция усекает журналы, если это возможно.
grbit
Группа битов, задающая ноль или несколько следующих параметров.
Значение |
Значение |
---|---|
JET_bitBackupAtomic |
Создает полную резервную копию базы данных. Это позволяет сохранить существующую резервную копию в том же каталоге в случае сбоя новой резервной копии. |
JET_bitBackupIncremental |
Создает добавочную резервную копию, а не полную резервную копию. Это означает, что будут создаваться только файлы журнала с момента последнего полного или добавочного резервного копирования. |
pfnStatus
Указатель на функцию обратного вызова JET_PFNSTATUS , которая предоставляет уведомления о ходе выполнения операции резервного копирования.
Возвращаемое значение
Функция возвращает один из кодов ошибок JET_ERR. Ниже приведены наиболее часто возвращаемые значения. (Полный список ошибок для этого API см. в разделе Расширяемые коды ошибок подсистемы хранилища.)
Код возврата |
Описание |
---|---|
JET_errSuccess |
Операция выполнена успешно. |
JET_errBackupInProgress |
Для того же экземпляра уже выполняется резервное копирование. Одновременное создание нескольких резервных копий запрещено. |
JET_errBackupNotAllowedYet |
Экземпляр еще не готов к резервному копированию, так как он инициализируется. |
JET_errClientRequestToStopJetService |
Операция не может завершиться, так как все действия экземпляра, связанного с сеансом, прекратились в результате вызова JetStopService. |
JET_errInstanceUnavailable |
Не удается завершить операцию, так как экземпляр, связанный с сеансом, столкнулся с неустранимой ошибкой, требующей отмены доступа ко всем данным для защиты целостности этих данных. Windows XP: Это возвращаемое значение появилось в Windows XP. |
JET_errInvalidBackup |
Добавочное резервное копирование не допускается, если включено циклическое ведение журнала. |
JET_errInvalidGrbit |
Указанные параметры недопустимы. |
JET_errInvalidParameter |
В API передан недопустимый параметр. |
JET_errInvalidPath |
Целевой путь не существует. |
JET_errLoggingDisabled |
Экземпляр выполняется без ведения журнала. Резервное копирование запрещено. |
JET_errLogReadVerifyFailure |
В файле журнала произошла ошибка проверки контрольной суммы. |
JET_errLogWriteFail |
Ведение журнала для экземпляра является временным или окончательно отключенным из-за непредвиденной ошибки. |
JET_errNotInitialized |
Операция не может завершиться, так как экземпляр, связанный с сеансом, еще не инициализирован. |
JET_errReadVerifyFailure |
На странице базы данных произошла ошибка проверки контрольной суммы. |
JET_errRestoreInProgress |
Операция не может завершиться, так как операция восстановления выполняется в экземпляре, связанном с сеансом. |
JET_errSessionSharingViolation |
Один и тот же сеанс нельзя использовать одновременно для нескольких потоков. Windows XP: Это возвращаемое значение появилось в Windows XP. |
JET_errTermInProgress |
Операция не может завершиться, так как экземпляр, связанный с сеансом, завершает работу. |
Если функция будет выполнена успешно, все файлы, необходимые для восстановления до момента создания резервной копии, будут содержаться в каталоге резервного копирования. Если это полная резервная копия, файлы будут файлами базы данных и файлами журналов, необходимыми для приведения базы данных в согласованное состояние. Если это добавочная резервная копия, в каталоги будут добавлены только файлы журналов, но уже существующие файлы (базы данных и файлы журналов) вместе с новыми файлами журналов смогут быть восстановлены, чтобы вернуть базу данных в состояние, в которое она находилась на момент начала резервного копирования.
В качестве побочного эффекта резервного копирования файлы журнала, которые больше не нужны, будут усечены.
В то же время заголовки базы данных будут обновлены с учетом сведений о последнем резервном копировании.
В случае сбоя функции в целевом каталоге резервного копирования не будет файлов, поэтому восстановление невозможно. В то же время текущие файлы журнала не будут усечены.
Комментарии
На различных этапах резервного копирования будут созданы записи журнала событий, включая имена файлов, усечение журнала и окончательный результат резервной копии.
Добавочное резервное копирование возможно только после создания полной резервной копии. Кроме того, добавочное резервное копирование возможно только в том случае, если циклическое ведение журнала отключено. Рекомендуется, чтобы каталог резервного копирования не содержал файлов, отличных от файлов, которые использовались в резервной копии или были добавлены в результате предыдущей успешной резервной копии.
Каталог резервного копирования должен существовать, если для экземпляра не задан параметр JET_paramCreatePathIfNotExist . Дополнительные сведения см. в разделе Системные параметры.
Резервная копия будет выполнять проверку контрольной суммы на всех используемых страницах базы данных, а также, начиная с Windows Server 2003, в файлах журнала. Это дает возможность оценить работоспособность базы данных даже для страниц, которые не считываются во время нормальной работы. При обнаружении таких повреждений резервное копирование завершится ошибкой.
Во время резервного копирования текущий файл журнала будет завершен и будет создан новый журнал. Таким образом можно скопировать все необходимые файлы журнала, так как текущий журнал больше не будет использоваться.
Настоятельно рекомендуется не использовать резервную копию для каких-либо целей, кроме резервного копирования и восстановления на уровне ядра. Это позволит свести к минимуму вероятность возникновения ошибок во время операций резервного копирования и восстановления.
Требования
Требование | Значение |
---|---|
Клиент |
Требуется Windows Vista, Windows XP или Windows 2000 Профессиональная. |
Сервер |
Требуется Windows Server 2008, Windows Server 2003 или Windows 2000 Server. |
Верхняя часть |
Объявлено в Esent.h. |
Библиотека |
Используйте ESENT.lib. |
DLL |
Требуется ESENT.dll. |
Юникод |
Реализовано как JetBackupW (Юникод) и JetBackupA (ANSI). |
См. также:
Расширяемые файлы подсистемы хранилища
JET_ERR
JET_GRBIT
JET_INSTANCE
JET_PFNSTATUS
JetRestore
JetRestore2
JetRestoreInstance
JetStopService
Системные параметры