Tidak cukup untuk memiliki transaksi serial, Anda perlu memberi petunjuk tentang penguncian agar ini berfungsi.
Level isolasi yang dapat diseri biasanya masih akan memperoleh jenis kunci "terlemah" yang dapat memastikan kondisi yang dapat diserikan terpenuhi (pembacaan yang dapat diulang, tidak ada baris hantu, dll)
Jadi, Anda mengambil kunci bersama di meja Anda yang kemudian Anda (dalam transaksi serial Anda) mencoba meningkatkan ke kunci pembaruan. Pemutakhiran akan gagal jika utas lain memegang kunci bersama (ini akan berfungsi jika tidak ada orang lain yang memegang kunci bersama).
Anda mungkin ingin mengubahnya sebagai berikut:
SELECT * FROM SessionTest with (updlock) WHERE SessionId = @SessionId
Itu akan memastikan kunci pembaruan diperoleh saat SELECT dilakukan (jadi Anda tidak perlu memutakhirkan kunci).