Bagikan melalui


Fungsi JetInit3

Berlaku untuk: Windows | Windows Server

Fungsi JetInit3

Fungsi JetInit3 menempatkan mesin database ke dalam keadaan di mana ia dapat mendukung penggunaan aplikasi file database. Mesin harus sudah dikonfigurasi dengan benar untuk inisialisasi, yang Anda capai dengan menggunakan fungsi JetSetSystemParameter . Perhatikan bahwa pemulihan crash database terjadi secara otomatis sebagai bagian dari proses inisialisasi.

Windows Vista:JetInit3 diperkenalkan di Windows Vista.

    JET_ERR JET_API JetInit3(
      __in_out_opt  JET_INSTANCE* pinstance,
      __in_opt      JET_RSTINFO* prstInfo,
      __in          JET_GRBIT grbit
    );

Parameter

pinstance

Instans yang Anda gunakan untuk panggilan tertentu. Penggunaan parameter ini tergantung pada mode operasi mesin. Jika mesin beroperasi dalam mode warisan (mode kompatibilitas Windows 2000), di mana hanya satu instans yang didukung, Anda dapat mengatur parameter ini baik ke NULL atau ke buffer output yang valid yang berisi NULL atau JET_instanceNil, yang mengembalikan handel instans global yang dibuat sebagai efek samping dari inisialisasi. Handel instans ini kemudian dapat diteruskan ke API lain yang mengambil instans. Jika mesin beroperasi dalam mode multi-instans, Anda harus mengatur parameter ini ke buffer input valid yang berisi handel instans yang dikembalikan oleh fungsi JetCreateInstance yang sedang diinisialisasi.

prstInfo

Parameter pemulihan tambahan yang digunakan untuk memulihkan database selama pemulihan, untuk mengatur posisi di mana pemulihan akan berhenti, atau untuk menentukan status pemulihan saat ini.

grbit

Sekelompok bit yang menentukan nol atau beberapa opsi yang tercantum dan ditentukan dalam tabel berikut.

Nilai

Makna

JET_bitReplayReplicatedLogFiles

Nilai ini dicadangkan untuk digunakan di masa mendatang.

JET_bitCreateSFSVolumeIfNotExist

Nilai ini dicadangkan untuk digunakan di masa mendatang.

JET_bitReplayIgnoreMissingDB

Nilai ini memungkinkan pengguna untuk menjalankan pemulihan pada sekumpulan file log, bahkan tanpa adanya database yang dilampirkan ke file log yang ditetapkan di beberapa titik.

JET_bitRecoveryWithoutUndo

Nilai ini memungkinkan pengguna untuk melakukan pemulihan, tetapi hanya hingga (dan tidak termasuk) fase Batalkan. Dengan menggunakan nilai ini, log transaksi tambahan dapat disalin dan diterapkan.

JET_bitTruncateLogsAfterRecovery

Nilai ini menyebabkan file log terpotong selama pemulihan lunak yang berhasil.

JET_bitReplayMissingMapEntryDB

Nilai ini menyebabkan entri peta database yang hilang ke default ke lokasi yang sama.

JET_bitReplayIgnoreLostLogs

Nilai ini menyebabkan log hilang dari akhir aliran log diabaikan selama pemulihan.

Windows 7:JET_bitReplayIgnoreLostLogs diperkenalkan di Windows 7.

Tampilkan Nilai

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

Keterangan

Instans harus diinisialisasi dengan panggilan ke fungsi JetInit3 sebelum dapat digunakan oleh apa pun selain fungsi JetSetSystemParameter .

Instans dihancurkan oleh panggilan ke fungsi JetTerm , bahkan jika instans tersebut tidak pernah diinisialisasi dengan menggunakan fungsi JetInit . Instans adalah unit pemulihan untuk mesin database. Ini mengontrol siklus hidup semua file yang digunakan untuk melindungi integritas data dalam sekumpulan file database. File-file ini mencakup file titik pemeriksaan dan file log transaksi. Perhatikan bahwa JetTerm tidak boleh dipanggil jika fungsi JetInit3 gagal. Namun, JetTerm masih harus dipanggil untuk semua instans yang dibuat oleh JetCreateInstance2 jika JetInit3 tidak pernah dipanggil atau jika JetInit3 berhasil.

Jika pemulihan berjalan pada sekumpulan log yang tidak semua database terkait ada (yang akan mengembalikan kesalahan JET_errAttachedDatabaseMismatch dalam keadaan normal), dan klien ingin pemulihan berlanjut meskipun database hilang, kesalahan JET_bitReplayIgnoreMissingDB digunakan untuk melanjutkan pemulihan untuk database yang tersedia.

Karena pemulihan crash biasanya tidak terjadi pada komputer yang sama (dan dengan konfigurasi yang sama) seperti pada saat crash, database biasanya tidak mengubah lokasi. Dalam skenario tertentu, seperti memindahkan file ke komputer yang berbeda atau memulihkan cadangan rekam jepret ke lokasi yang berbeda, ini tidak lagi benar. Fungsi JetInit3 memungkinkan Anda menentukan pemetaan (menggunakan struktur JET_RSTINFO dan JET_RSTMAP ) antara lokasi database lama dan lokasi barunya. Bahkan, Anda hanya memerlukan lokasi baru selama file database ada di lokasi tersebut. Segera setelah Anda mengetahui lokasi database yang dipulihkan, tanda tangan database akan digunakan untuk mengidentifikasi database melalui proses pemulihan. Anda akan memerlukan lokasi database asli hanya jika Anda perlu membuat ulang database, dalam hal ini tanda tangan diketahui.

Selain itu, jika Anda perlu menghentikan pemulihan setelah operasi Batalkan, Anda dapat menentukan posisi log tertentu di mana pemulihan akan berhenti. Perhatikan bahwa ini termasuk kemampuan untuk berhenti di akhir pembuatan log tertentu jika posisi yang ditentukan adalah bagian dari pembuatan tetapi melewati akhir log aktual.

Untuk informasi selengkapnya, lihat bagian "Keterangan" di topik JetInit .

Persyaratan

Persyaratan Nilai

Klien

Memerlukan Windows Vista.

Server

Memerlukan Windows Server 2008.

Header

Dinyatakan dalam Esent.h.

Pustaka

Menggunakan ESENT.lib.

DLL

Membutuhkan ESENT.dll.

Unicode

Diimplementasikan sebagai JetInit3W (Unicode) dan JetInit3A (ANSI).

Lihat juga

File Mesin Penyimpanan yang Dapat Diperluas
JET_ERR
JET_GRBIT
JET_INSTANCE
JET_RSTINFO
JET_RSTMAP
JetCreateInstance
JetInit
JetInit2
JetSetSystemParameter
Parameter Sumber Daya