el bloqueo no lo hace con un select....el bloqueo se hace con el update, si haces esto:
Código SQL:
Ver originalCREATE TABLE TestDeadLock(
id INT,
name VARCHAR(20)
)
INSERT INTO TestDeadLock VALUES (1,'Madhu')
INSERT INTO TestDeadLock VALUES (2,'Madhu')
INSERT INTO TestDeadLock VALUES (3,'Madhu')
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
BEGIN tran
UPDATE TestDeadLock
SET name='Libras'
WHERE id=3
Luego abres otra sesion de sql manager o ejecutas este query en otra ventana veras el bloqueo
select * from dbo.TestDeadLock
ya que este select no regresa valores hasta que des el commit tran en el ejemplo anterior, un bloqueo no se hace por un select se hace por un update, insert o delete :)