I read that if I use IsolationLevel.ReadUncommitted, the query should not issue any locks. However, when I tested this, I saw the following lock:
Resource_Type: HOBT
Request_Mode: S (Shared)
What is a HOBT lock? Something related to HBT (Heap or Binary Tree lock)?
Why would I still get a S lock?
How do I avoid shared locking when querying without turning on the isolation level snapshot option?
I am testing this on SQLServer 2008, and the snapshot option is set to off. The query only performs a select.
I can see that Sch-S is required, although SQL Server seems not to be showing it in my lock query. How come it still issues a Shared Lock? According to:
SET TRANSACTION ISOLATION LEVEL (Transact-SQL)
Transactions running at the
READ UNCOMMITTED
level do not issue shared locks to prevent other transactions from modifying data read by the current transaction.
So I am a little confused.