Bagikan melalui


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