J. Fco
Mira lo que pides no es algo facil de explicar pero tampoco dificil ya que SQL Server maneja el bloqueo de forma ya implicita tienes que entender que SQL Server es un manejador de base de datos profesional y acepta transacciones de forma concurrente, me explico mejor con un ejemplo para ello sigue los siguientes pasos
1. Abrir el analizador de consultas de SQL Server
2. escojer de la lista de Base de Datos Pubs
3. Ejecutar las siguientes instrucciones
BEGIN TRANSACTION
UPDATE Authors
SET
Contract = 0
4. Abre una nueva ventana dento del analizador de consultas y ejecuta
SELECT *
FROM Authors
Veras que esta consulta se queda esperando ya que lo registros que desea acceder se encuentran bloquedos por el proceso anterior.
Ahora ejecuta en la primera ventana la siguiente instuccion
ROLLBACK TRANSACTION
y veras que ahora si el segundo proceso puede acceder a los datos ya que fueron desbloqueados.
Pero que es lo que hay detras de todo esto es todo un rollo ya que SQL Server o mejor dicho el analizador de consultas tiene algunos valores por defecto para los niveles de transacciones los cuales no permiten ver estos datos.
Espero que esto te ayude sino avisame para poder ayudarte mejor
Saludos desde BOLIVIA