Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: Windows | Windows Server
Fungsi JetCompact
Fungsi JetCompact membuat salinan database yang sudah ada. Salinan dikompilasi ke status optimal untuk penggunaan. Data dalam data yang disalin akan dikemas sesuai dengan langkah-langkah yang dipilih untuk indeks pada pembuatan indeks. Dengan cara ini, data yang dikompresi dapat disimpan sesakatkan mungkin. Atau, data yang dikompresi dapat mencadangkan ruang untuk penyisipan indeks atau pertumbuhan rekor berikutnya.
JET_ERR JET_API JetCompact(
__in JET_SESID sesid,
__in JET_PCSTR szDatabaseSrc,
__in JET_PCSTR szDatabaseDest,
__in JET_PFNSTATUS pfnStatus,
__in_opt JET_CONVERT* pconvert,
__in JET_GRBIT grbit
);
Parameter
sesid
Sesi yang digunakan untuk panggilan ini.
szDatabaseSrc
Database sumber yang akan dikompresi.
szDatabaseDest
Nama yang digunakan untuk database yang dikompresi.
pfnStatus
Fungsi panggilan balik yang dapat dipanggil secara berkala melalui operasi ringkas database untuk melaporkan kemajuan.
pconvert
Pointer yang digunakan untuk menunjuk DLL ESE alternatif yang dapat digunakan untuk membaca database sumber, dan untuk menyediakan parameter opsional untuk operasi JetCompact yang mengonversi database dari format versi yang lebih lama ke yang lebih baru. Fitur ini dihentikan di Windows Server 2003.
grbit
Sekelompok bit yang menentukan nol atau beberapa opsi berikut.
Nilai |
Makna |
|---|---|
JET_bitCompactRepair |
Digunakan saat database sumber diketahui rusak. Ini memungkinkan seluruh set perilaku baru yang dimaksudkan untuk menyelamatkan data sebanyak mungkin dari database sumber. JetCompact dengan set opsi ini dapat mengembalikan JET_errSuccess tetapi tidak menyalin semua data yang dibuat dalam database sumber. Data yang berada di bagian database sumber yang rusak akan dilewati. |
JET_bitCompactStats |
Menyebabkan JetCompact membuang statistik pada database sumber ke file bernama DFRGINFO.TXT. Statistik mencakup nama setiap tabel dalam database sumber, jumlah baris di setiap tabel, ukuran total dalam byte semua baris di setiap tabel, ukuran total dalam byte dari semua kolom jenis JET_coltypLongText atau JET_coltypLongBinary yang cukup besar untuk disimpan terpisah dari rekaman, jumlah halaman daun indeks berkluster, dan jumlah halaman daun nilai panjang. Selain itu, statistik ringkasan termasuk ukuran database sumber, database tujuan, waktu yang diperlukan untuk pemadatan database, ruang database sementara juga dicadangkan. |
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_errClientRequestToStopJetService |
Tidak dimungkinkan untuk menyelesaikan operasi karena semua aktivitas pada instans yang terkait dengan sesi telah berhenti sebagai akibat dari panggilan ke JetStopService. |
JET_errFeatureNotAvailable |
Penunjuk pconvert non-NULL telah disediakan tetapi versi ESE yang digunakan tidak mendukung fitur konversi. Fitur ini dihapus di ESE versi Windows Server 2003. |
JET_errInstanceUnavailable |
Tidak dimungkinkan untuk menyelesaikan operasi karena instans yang terkait dengan sesi telah mengalami kesalahan fatal yang mengharuskan akses ke semua data dicabut untuk melindungi integritas data tersebut. Kesalahan ini hanya akan dikembalikan oleh Windows XP dan rilis yang lebih baru. |
JET_errInTransaction |
Sesi panggilan berada dalam transaksi. JetCompact harus dipanggil oleh sesi di luar transaksi apa pun. |
JET_errNotInitialized |
Tidak dimungkinkan untuk menyelesaikan operasi karena instans yang terkait dengan sesi belum diinisialisasi. |
JET_errRestoreInProgress |
Tidak dimungkinkan untuk menyelesaikan operasi karena operasi pemulihan sedang berlangsung pada instans yang terkait dengan sesi. |
JET_errSessionSharingViolation |
Sesi yang sama tidak dapat digunakan untuk lebih dari satu utas secara bersamaan. Kesalahan ini hanya akan dikembalikan oleh Windows XP dan rilis yang lebih baru. |
JET_errTermInProgress |
Tidak dimungkinkan untuk menyelesaikan operasi karena instans yang terkait dengan sesi sedang dimatikan. |
Jika berhasil, database sumber disalin ke database tujuan. Database tujuan dalam keadaan optimal, misalnya, semua indeks tabel terletak di ruang disk logis yang berdekatan. Setiap halaman indeks diisi ke jumlah yang dikonfigurasi ketika indeks awalnya dibuat dalam database sumber. Semua pengaturan data dan metadata disalin dengan keakuratan penuh, kecuali opsi perbaikan ditentukan. Jika opsi perbaikan ditentukan, beberapa data dari database sumber mungkin belum disalin.
Jika gagal, database tujuan mungkin ada tetapi bukan salinan lengkap database sumber.
Keterangan
Memadatkan database juga digunakan untuk meningkatkan database dari format versi yang lebih lama ke versi yang lebih modern. Parameter opsional adalah pconvert, yang berisi struktur yang dapat menyimpan deskripsi untuk DLL versi sebelumnya untuk digunakan untuk membaca format database sumber. Fitur ini dihentikan di Windows Server 2003. Selanjutnya ke Windows Server 2003, versi baru ESE selalu dapat membaca versi format database yang lebih lama dan karenanya fitur ini tidak diperlukan.
Kepadatan data yang diinginkan setelah operasi ringkas ditentukan saat tabel dan indeks dibuat. Kepadatan harus antara 20% dan 100%. Jika database terutama dibaca dan tidak diperbarui, aplikasi akan mengatur kepadatan menjadi 100% untuk mengurangi jumlah operasi I/O selama pemrosesan kueri. Namun, jika data sering diperbarui dengan operasi yang meningkatkan ukuran data yang disimpan bersama dengan rekaman, atau data baru sering dimasukkan, aplikasi akan memilih kepadatan yang lebih rendah sehingga pembaruan akan lebih sering menemukan sumber daya yang diperlukan yang tersedia. Pengoperasian memadatkan database menyebabkan database ditata secara ideal sesuai dengan isi yang dipilih oleh aplikasi.
Pemadatan database adalah operasi off-line. Ini tidak dapat dilakukan saat database sedang digunakan. Akibatnya, biasanya dilakukan sebagai bagian dari proses build pengembangan aplikasi yang memberikan himpunan data sebagai bagian dari dirinya sendiri.
Pemadatan database offline menyentuh setiap bit data dalam database dan dapat digunakan sebagai sarana untuk memeriksa konsistensi database. Jika database dicurigai maka database dapat dikompresi. Jika tidak ada kesalahan yang ditemukan dari pemadatan, maka akan diketahui bahwa database berada dalam status valid untuk ESE.
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 JetCompactW (Unicode) dan JetCompactA (ANSI). |