Fungsi JetExternalRestore2

Berlaku untuk: Windows | Windows Server

Fungsi JetExternalRestore2

Fungsi JetExternalRestore2 memulihkan cadangan eksternal yang diambil dengan API cadangan eksternal dan menyediakan titik pemeriksaan untuk digunakan untuk operasi pengelogan melingkar. Ini dikenal sebagai pemulihan keras, yang mirip tetapi berbeda dari pemulihan lunak seperti yang dilakukan oleh fungsi JetInit .

Windows XP: JetExternalRestore2 diperkenalkan di 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
    );

Parameter

szCheckpointFilePath

Jalur untuk file titik pemeriksaan yang akan digunakan selama pemulihan jika szTargetInstanceCheckpointPath tidak ditentukan atau jalur tersebut memiliki instans aktif atau berjalan.

szLogPath

Jalur atau direktori untuk log untuk fase akhir (membatalkan) pemulihan dan mungkin untuk roll forward log. Jalur ini mungkin sama dengan szBackupLogPath.

rgrstmap

Ini adalah array struktur JET_RSTMAP . Ini adalah peta jalur database atau nama file lama dan baru. Ini digunakan karena database mungkin perlu dipulihkan ke lokasi selain lokasi tempat database dicadangkan. Dalam kasus di mana beberapa database dilampirkan ke satu kumpulan pengelogan, peta pemulihan dapat menentukan subset database untuk dipulihkan.

crstfilemap

Jumlah entri dalam parameter array rgrstmap .

szBackupLogPath

Jalur ke direktori tempat file log dipulihkan. Ini adalah log yang dibaca selama urutan cadangan eksternal. Jalur ini mungkin sama dengan szLogPath.

pLogInfo

pLogInfo menjelaskan beberapa aspek log cadangan untuk pemulihan, parameter ini memungkinkan JetExternalRestore2 untuk mengambil parameter genLow dan genHigh eksplisit yang dimiliki JetExternalRestore2, serta nama log dasar, alih-alih nama dasar log yang diduga "edb".

szTargetInstanceName

Parameter ini tidak digunakan lagi dan tidak dapat digunakan dalam aplikasi Anda.

szTargetInstanceLogPath

Jalur untuk roll forward log jika lokasi log yang ingin Anda gulung teruskan berada dalam set atau instans pengelogan aktif. Ini tidak boleh ditentukan jika instans target menggunakan pengelogan melingkar.

szTargetInstanceCheckpointPath

Jalur untuk titik pemeriksaan selama pemulihan jika tidak ada instans aktif yang berjalan pada target ini. Ini tidak boleh ditentukan jika instans target menggunakan pengelogan melingkar.

pfn

Panggilan balik status, yang melaporkan kemajuan pemulihan.

Tampilkan Nilai

Fungsi ini mengembalikan jenis data JET_ERR dengan salah satu kode pengembalian berikut. Untuk informasi selengkapnya tentang kemungkinan kesalahan ESE, lihat Kesalahan Mesin Penyimpanan yang Dapat Diperluas dan Parameter Penanganan Kesalahan.

Menampilkan kode

Deskripsi

JET_errSuccess

Operasi berhasil diselesaikan.

JET_errBadRestoreTargetInstance

szTargetInstanceLogPath yang ditentukan bukan milik instans yang diinisialisasi. Kesalahan ini hanya akan dikembalikan di Windows XP dan yang lebih baru.

JET_errDatabaseCorrupted

Ini menunjukkan database rusak, atau file yang tidak dikenali.

JET_errEndingRestoreLogTooLow

Kesalahan ini dikembalikan jika satu untuk file log di szBackupLogPath, memiliki pembuatan log di atas yang ditentukan dalam genHigh atau pLogInfo.ulGenHigh.

JET_errFileNotFound

Operasi gagal karena tidak dapat membuka file yang diminta karena tidak dapat ditemukan pada jalur yang ditentukan.

JET_errInvalidParameter

Salah satu parameter yang disediakan berisi nilai yang tidak terduga atau berisi nilai yang tidak masuk akal ketika dikombinasikan dengan nilai parameter lain. Ini dapat terjadi untuk JetExternalRestore, dan sebagainya ketika szTargetCheckpointPath dan szTargetInstanceLogPath tidak ditentukan atau tidak keduanya tidak ditentukan. Artinya, mereka harus cocok, dan ditentukan atau keduanya tidak ditentukan.

JET_errInvalidPath

Operasi gagal karena jalur yang ditentukan tidak dapat ditemukan.

JET_errOutOfMemory

Operasi gagal karena memori tidak cukup dapat dialokasikan untuk menyelesaikannya.

JET_errRestoreOfNonBackupDatabase

Kesalahan ini dikembalikan jika file database yang ditentukan selama pemulihan bukan database yang dicadangkan dengan cadangan eksternal.

JET_errRunningInOneInstanceMode

Mesin database tidak dapat menjalankan pemulihan eksternal atau pemulihan keras dalam mode instans tunggal. Kesalahan ini hanya akan dikembalikan di Windows XP dan yang lebih baru.

JET_errStartingRestoreLogTooHigh

Kesalahan ini dikembalikan jika salah satu file log di szBackupLogPath, memiliki pembuatan log di bawah yang ditentukan oleh genLow atau pLogInfo.ulGenLow.

Setelah berhasil, semua database dari rgrstmap sepenuhnya pulih dan dalam keadaan bersih atau konsisten. Pada titik ini database dapat dilepaskan kembali ke instans yang ada.

Jika gagal, mesin tidak dapat memulihkan database. Database dalam status tidak valid, dan untuk mencoba kembali pemulihan keras seluruh database harus dipulihkan lagi. Biasanya, sumber situasi seperti itu adalah disk atau kerusakan log, atau beberapa bentuk kesalahan pengelolaan log lainnya, atau kumpulan log yang tidak berkelanjutan.

Keterangan

Lihat JetExternalRestore.

Persyaratan

Persyaratan Nilai

Klien

Memerlukan Windows Vista atau Windows XP.

Server

Memerlukan Windows Server 2008 atau Windows Server 2003.

Header

Dinyatakan dalam Esent.h.

Pustaka

Gunakan ESENT.lib.

DLL

Membutuhkan ESENT.dll.

Unicode

Diimplementasikan sebagai JetExternalRestore2W (Unicode) dan JetExternalRestore2A (ANSI).

Lihat juga

JET_ERR
JET_LOGINFO
JET_PFNSTATUS
JET_RSTMAP
JetBeginExternalBackup
JetExternalRestore
JetInit