Bagikan melalui


Fungsi JetRestore

Berlaku untuk: Windows | Windows Server

Fungsi JetRestore

Fungsi JetRestore memulihkan dan memulihkan cadangan streaming instans, termasuk semua database yang dilampirkan. Fungsi ini terutama untuk kompatibilitas mundur dengan Windows 2000 dan mesin database yang lebih lama, di mana hanya satu instans database yang diizinkan. Dalam hal ini, instans aktif adalah instans yang dipulihkan. Dengan JetRestore, lokasi untuk database yang dipulihkan tidak dapat ditentukan.

JET_ERR JET_API JetRestore(
  __in          JET_PCSTR sz,
  __in          JET_PFNSTATUS pfn
);

Parameter

Sz

Folder tempat cadangan berada. Cadangan seharusnya dibuat menggunakan fungsi JetBackup .

pfn

Penunjuk opsional ke fungsi yang akan dipanggil sebagai informasi pemberitahuan tentang kemajuan operasi 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_errAlreadyInitialized

Operasi gagal karena mesin sudah diinisialisasi untuk instans ini.

JET_errInvalidLogSequence

Kumpulan file log dari set cadangan dan dari jalur log saat ini tidak cocok.

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.

JET_errInvalidPath

Operasi gagal karena beberapa jalur yang disediakan tidak valid (jalur cadangan, jalur tujuan, log atau jalur sistem untuk instans).

JET_errPageSizeMismatch

Operasi gagal karena mesin dikonfigurasi untuk menggunakan ukuran halaman database (menggunakan JetSetSystemParameter untuk JET_paramDatabasePageSize) yang tidak cocok dengan ukuran halaman database yang digunakan untuk membuat file log transaksi atau database yang terkait dengan file log transaksi.

JET_errRunningInMultiInstanceMode

Operasi gagal karena parameter menyiratkan mode instans tunggal (mode kompatibilitas Windows 2000) dan mesin sudah dalam mode multi-instans.

Setelah berhasil, file database dari kumpulan cadangan akan dipulihkan ke lokasinya dan pemulihan akan dijalankan seded sehingga database akan berada dalam status konsistensi transaksional yang bersih. Pemulihan akan memutar ulang file log dari kumpulan cadangan dan file log dari jalur log jika file tersebut ada. Pemulihan ini akan mengakibatkan perubahan pada file titik pemeriksaan, file log transaksi, dan database apa pun yang dirujuk oleh file log transaksi tersebut.

Jika gagal, instans tetap dalam keadaan tidak diinisialisasi. Status file log transaksi dan database apa pun yang dirujuk oleh file log transaksi tersebut kemungkinan akan diubah dalam upaya untuk menginisialisasi pemulihan dan memulihkan database.

Keterangan

Proses pemulihan akan mengonstruksi ulang database yang dilampirkan ke instans selama pencadangan dan menyimpan perubahan kembali ke file database. Hasilnya akan menjadi database yang konsisten dengan transaksi. Jika memungkinkan, itu juga akan menyimpan ke database perubahan yang dilakukan sejak pencadangan diambil sampai perubahan terbaru ditemukan dalam log transaksi. Ini akan dimungkinkan jika log transaksi yang dihasilkan sejak cadangan diambil masih ada di direktori log transaksi. Perhatikan bahwa jika pengelogan melingkar diaktifkan untuk instans, log transaksi yang dihasilkan digunakan kembali sehingga pemulihan akan dapat menyimpan perubahan yang terjadi hingga saat pencadangan. Bagaimanapun, proses ini mungkin memakan waktu cukup lama jika jumlah file log transaksi untuk diputar ulang terhadap database besar.

Fungsi JetRestore harus dipanggil pada instans sebelum JetInit dipanggil untuk instans tersebut.

Karena selama pemulihan sejumlah besar halaman database dan log transaksi akan digunakan, ada seluruh rangkaian kesalahan yang mungkin dikembalikan oleh fungsi-fungsi ini. Kesalahan tersebut dapat berasal dari kegagalan alokasi sumber daya sementara seperti Jet_errOutOfMemory hingga kesalahan yang mewakili kerusakan fisik seperti JET_errReadVerifyFailure, JET_errLogFileCorrupt, atau JET_errBadPageLink. Kesalahan ini hampir selalu disebabkan oleh masalah perangkat keras dan dengan demikian tidak dapat dihindari. Kesalahan manajemen file akan memanifestasikan dirinya paling sering sebagai JET_errMissingLogFile atau JET_errAttachedDatabaseMismatch atau JET_errDatabaseSharingViolation atau JET_errInvalidLogSequence. Kesalahan ini dapat dicegah oleh aplikasi. Aplikasi harus berhati-hati untuk melindungi repositori file-file ini dari manipulasi oleh kekuatan luar seperti pengguna atau aplikasi lain. Jika aplikasi ingin menghancurkan instans sepenuhnya maka semua file yang terkait dengan instans harus dihapus. Ini termasuk file titik pemeriksaan, file log transaksi, dan file database apa pun yang dilampirkan ke instans.

Langkah-langkah pemulihan yang berbeda akan memiliki entri Log Peristiwa yang dihasilkan termasuk kemajuan pemutaran ulang log transaksi dan hasil akhir pemulihan.

Persyaratan

Persyaratan Nilai

Klien

Memerlukan Windows Vista, Windows XP, atau Windows 2000 Professional.

Server

Memerlukan Windows Server 2008, Windows Server 2003, atau Windows 2000 Server.

Header

Dinyatakan dalam Esent.h.

Pustaka

Gunakan ESENT.lib.

DLL

Membutuhkan ESENT.dll.

Unicode

Diimplementasikan sebagai JetRestoreW (Unicode) dan JetRestoreA (ANSI).

Lihat juga

JET_ERR
JET_GRBIT
JET_INSTANCE
JetBackup
JetBackupInstance
JetCreateInstance
JetSetSystemParameter