ロックを取得しようとしている SQL Server 2012 で遊んでいます。私が見たチュートリアルに基づいて、テーブルの排他ロックを取得して、トランザクションが終了するまで、他のクエリがそこから情報を読み取ることができないようにテストしようとしましたが、それは機能しません。ビデオでは機能していましたが、最初のウィンドウでのクエリは次のとおりです。</p>
use TSQL2012
BEGIN transaction
update tele with (TABLOCKX, holdlock)
set cor = '12'
waitfor delay '00:05'
go
次に、2 番目のクエリ ウィンドウで、次のことを試しました。
select * from tele
理論的にはそれを防ぐ「排他的」ロックがあったはずですが、それはうまくいきました。なぜそれが起こっているのですか?私も試してみました
set transaction isolation level serializable on
また、遅延はありませんが、選択は常に成功します。何か案は?