Saya membaca bahwa jika saya menggunakan IsolationLevel.ReadUncommitted, kueri tidak boleh mengeluarkan kunci apa pun. Namun, ketika saya menguji ini, saya melihat kunci berikut:
Resource_Type: HOBT
Request_Mode: S (Dibagi-pakai)
Apa itu kunci HOBT? Sesuatu yang terkait dengan HBT (Heap atau Binary Tree lock)?
Mengapa saya masih mendapatkan kunci S?
Bagaimana cara menghindari penguncian bersama saat kueri tanpa mengaktifkan opsi snapshot level isolasi?
Saya menguji ini pada SQLServer 2008, dan opsi snapshot dimatikan. Permintaan hanya melakukan pilih.
Saya dapat melihat bahwa Sch-S diperlukan, meskipun SQL Server tampaknya tidak akan menampilkannya di kueri kunci saya. Kenapa masih mengeluarkan Kunci Bersama? Berdasarkan:
SET TINGKAT ISOLASI TRANSAKSI (Transact-SQL)
Transaksi berjalan di
READ UNCOMMITTED
tingkat tidak mengeluarkan kunci bersama untuk mencegah transaksi lain dari memodifikasi data yang dibaca oleh transaksi saat ini.
Jadi saya agak bingung.