Bagikan melalui


Bekerja dengan Isolasi Snapshot

Berlaku untuk: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

Unduh driver OLE DB

SQL Server 2005 (9.x) memperkenalkan tingkat isolasi "rekam jepret" baru yang dimaksudkan untuk meningkatkan konkurensi untuk aplikasi pemrosesan transaksi online (OLTP). Dalam versi SQL Server sebelumnya, konkurensi hanya didasarkan pada penguncian, yang dapat menyebabkan masalah pemblokiran dan kebuntuan untuk beberapa aplikasi. Isolasi rekam jepret tergantung pada peningkatan penerapan versi baris dan dimaksudkan untuk meningkatkan performa dengan menghindari skenario pemblokiran pembaca-penulis.

Transaksi yang dimulai di bawah isolasi rekam jepret membaca rekam jepret database pada saat transaksi dimulai. Kursor server keyset, dinamis, dan statis, dibuka dalam konteks transaksi rekam jepret bertingkah seperti kursor statis yang dibuka dalam transaksi yang dapat diserialisasikan. Namun, ketika kursor dibuka di bawah kunci tingkat isolasi rekam jepret tidak diambil. Fakta ini dapat mengurangi pemblokiran di server.

Menggunakan ADO dengan Driver OLE DB untuk SQL Server

Driver OLE DB untuk SQL Server memiliki peningkatan yang memanfaatkan isolasi rekam jepret yang diperkenalkan di SQL Server 2005 (9.x). Penyempurnaan ini mencakup perubahan pada kumpulan properti DBPROPSET_DATASOURCEINFO dan DBPROPSET_SESSION.

DBPROPSET_DATASOURCEINFO

Kumpulan properti DBPROPSET_DATASOURCEINFO telah diubah untuk menunjukkan bahwa tingkat isolasi rekam jepret didukung oleh penambahan nilai DBPROPVAL_TI_SNAPSHOT yang digunakan dalam properti DBPROP_SUPPORTEDTXNISOLEVELS. Nilai baru ini menunjukkan bahwa tingkat isolasi rekam jepret didukung apakah penerapan versi telah diaktifkan atau tidak pada database. Tabel berikut ini mencantumkan nilai DBPROP_SUPPORTEDTXNISOLEVELS:

ID Properti Deskripsi
DBPROP_SUPPORTEDTXNISOLEVELS Jenis: VT_I4

R/W: Baca saja

Deskripsi: Bitmask yang menentukan tingkat isolasi transaksi yang didukung. Kombinasi nol atau lebih dari berikut ini:

DBPROPVAL_TI_CHAOS

DBPROPVAL_TI_READUNCOMMITTED

DBPROPVAL_TI_BROWSE

DBPROPVAL_TI_CURSORSTABILITY

DBPROPVAL_TI_READCOMMITTED

DBPROPVAL_TI_REPEATABLEREAD

DBPROPVAL_TI_SERIALIZABLE

DBPROPVAL_TI_ISOLATED

DBPROPVAL_TI_SNAPSHOT

DBPROPSET_SESSION

Kumpulan properti DBPROPSET_SESSION telah diubah untuk menunjukkan bahwa tingkat isolasi rekam jepret didukung oleh penambahan nilai DBPROPVAL_TI_SNAPSHOT yang digunakan dalam properti DBPROP_SESS_AUTOCOMMITISOLEVELS. Nilai baru ini menunjukkan bahwa tingkat isolasi rekam jepret didukung apakah penerapan versi telah diaktifkan atau tidak pada database. Tabel berikut ini mencantumkan nilai DBPROP_SESS_AUTOCOMMITISOLEVELS:

ID Properti Deskripsi
DBPROP_SESS_AUTOCOMMITISOLEVELS Jenis: VT_I4

R/W: Baca saja

Deskripsi: Menentukan bitmask yang menunjukkan tingkat isolasi transaksi saat dalam mode penerapan otomatis. Nilai yang dapat diatur dalam bitmask ini sama dengan nilai yang dapat diatur untuk DBPROP_SUPPORTEDTXNISOLEVELS.

Catatan

Kesalahan DB_S_ERRORSOCCURRED atau DB_E_ERRORSOCCURRED akan terjadi jika DBPROPVAL_TI_SNAPSHOT diatur saat menggunakan versi SQL Server yang lebih lama dari SQL Server 2005 (9.x).

Untuk informasi tentang bagaimana isolasi rekam jepret didukung dalam transaksi, lihat Mendukung Transaksi Lokal.

Lihat Juga

Driver OLE DB untuk Fitur SQL Server
Properti dan Perilaku Set Baris