mi superior me dijo que para la ejecución de consultas SQL por defecto no bloquea la tabla.
Esto es verdad. Sin embargo, no significa que una consulta no pueda bloquear una tabla.
¿El informe SSRS realmente bloqueará las tablas que se están consultando?
SSRS obtiene los datos utilizados para representar el informe ejecutando una consulta o procedimiento almacenado en la base de datos.
El desarrollador define esta consulta y puede terminar bloqueando una tabla (o tablas), según el nivel de aislamiento y cuántas filas están involucradas. (De hecho, puede haber casos en los que desee hacer esto a propósito ). La conclusión es que depende del desarrollador cómo funciona el bloqueo para la consulta. SSRS no puede resolver este problema por usted. Por eso no hay ninguna documentación.
Considere (por ejemplo):
- Usar
READ UNCOMMITTED
si las lecturas sucias están bien
- Habilitar y usar un nivel de aislamiento de instantánea
- Envío de registros en modo de espera y consultas en ejecución en la copia de solo lectura
SET TRANSACTION ISOLATION LEVEL
por ejemplo,READ UNCOMMITTED
si no le importa arriesgarse a algunas lecturas sucias.