Fungsi JetOSSnapshotFreeze
Berlaku untuk: Windows | Windows Server
Fungsi JetOSSnapshotFreeze
Fungsi JetOSSnapshotFreeze memulai rekam jepret. Saat rekam jepret sedang berlangsung, tidak ada aktivitas tulis-ke-disk oleh mesin yang dapat terjadi.
Windows XP:JetOSSnapshotFreeze diperkenalkan di Windows XP.
JET_ERR JET_API JetOSSnapshotFreeze(
__in const JET_OSSNAPID snapId,
__out unsigned long* pcInstanceInfo,
__out JET_INSTANCE_INFO** paInstanceInfo,
__in const JET_GRBIT grbit
);
Parameter
snapId
Pengidentifikasi sesi rekam jepret.
pcInstanceInfo
Jumlah instans yang saat ini berjalan di mesin yang merupakan bagian dari sesi rekam jepret.
paInstanceInfo
Array struktur, satu untuk setiap instans yang berjalan yang merupakan bagian dari sesi rekam jepret, yang menjelaskan instans dan database yang merupakan bagian darinya.
grbit
Opsi untuk panggilan ini. Parameter ini dicadangkan untuk penggunaan di masa mendatang dan satu-satunya nilai valid yang didukung adalah 0.
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_errInvalidParameter |
Pointer yang disediakan untuk parameter output adalah NULL, sesi rekam jepret tidak valid, atau parameter grbit tidak valid. |
JET_errOSSnapshotInvalidSequence |
Sesi rekam jepret tidak dalam keadaan yang sesuai untuk memulai pembekuan (misalnya, pembekuan sebelumnya gagal pada sesi ini sebelumnya). |
JET_errOSSnapshotNotAllowed |
Mesin tidak dalam keadaan di mana rekam jepret dapat dilakukan. Satu atau beberapa pencadangan streaming sudah berlangsung, atau satu atau beberapa instans sedang melalui langkah-langkah pemulihan atau penghentian. |
JET_errOSSnapshotInvalidSnapId |
Pengidentifikasi untuk sesi rekam jepret tidak valid. |
JET_errOutOfMemory |
Fungsi gagal karena kondisi kehabisan memori. |
JET_errOutOfThreads |
Fungsi gagal karena utas baru yang melakukan pembekuan gagal dimulai. |
Jika fungsi ini berhasil, tidak akan ada IO tulis yang dikeluarkan untuk file database atau untuk file log yang merupakan bagian dari instans yang dibekukan. Selain itu, informasi instans akan diisi dengan benar dan harus dikosongkan nanti dengan memanggil JetFreeBuffer dengan penunjuk ke array info instans yang dikembalikan.
Jika fungsi ini gagal, mesin akan terus berjalan normal dengan IO yang terjadi seperti biasa. Tidak perlu memanggil JetOSSnapshotThaw jika pembekuan gagal. Selain itu, informasi instans tidak akan diisi sehingga tidak perlu membebaskan sumber daya ini.
Keterangan
Selama periode pembekuan, tidak akan ada IO tulis yang dikeluarkan untuk database terlampir atau log transaksi, meskipun mungkin ada IO tulis yang dikeluarkan untuk database sementara atau file streaming.
Status di mana database dan file log akan berada selama pembekuan (status di mana file akan berada dalam gambar Rekam Jepret Volume) akan sedih sehingga pemulihan normal akan dimungkinkan jika file-file tersebut dipulihkan nanti.
Karena tidak ada operasi tulis selama periode pembekuan, panggilan API normal ke mesin mungkin terhenti untuk interval tersebut. Aplikasi klien harus dapat menangani panggilan API yang mungkin memakan waktu lebih lama maka normal jika pembekuan terjadi.
Karena kemungkinan efek yang dijelaskan di atas, ada batas waktu internal setelah sesi rekam jepret akan menghentikan fase pembekuan bahkan jika API melakukan pencucian atau pembatalan tidak dipanggil. Nilai batas waktu dapat diubah menggunakan parameter sistem JET_paramOSSnapshotTimeout . Perhatikan bahwa interval pembekuan umum berada dalam kisaran 10 detik dengan batas waktu default di suatu tempat sekitar 60 detik.
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 JetOSSnapshotFreezeW (Unicode) dan JetOSSnapshotFreezeA (ANSI). |
Lihat juga
JET_ERR
JET_INSTANCE_INFO
JET_OSSNAPID
JetOSSnapshotAbort
JetOSSnapshotPrepare
JetOSSnapshotPrepareInstance
JetOSSnapshotThaw