Mi DBA senior me dijo que la ejecución de consultas SQL por defecto no bloquea la tabla.
Estaba teniendo algunos problemas con mi informe de SQL Server Reporting Services (SSRS) que parece estar teniendo algunos problemas con el bloqueo y algunos errores.
Busqué en Google pero no pude encontrar nada.
¿Los informes de SSRS bloquean las tablas que se están consultando?
¿Existe alguna documentación de MSDN que documente este comportamiento específicamente?
sql-server-2008
locking
melaos
fuente
fuente
SET TRANSACTION ISOLATION LEVEL
por ejemplo,READ UNCOMMITTED
si no le importa arriesgarse a algunas lecturas sucias.Respuestas:
Respuesta corta: no
Más...
SQL Server no sabe que es SSRS enviándole una consulta. Por lo tanto, la consulta de SSRS se ejecutará como cualquier otra consulta.
Es más probable que el optimizador de consultas decida usar un bloqueo de tabla para la consulta SSRS. por supuesto, podría ser un problema diferente, pero esa es una pregunta diferente
fuente
Esto es verdad. Sin embargo, no significa que una consulta no pueda bloquear una tabla.
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):
READ UNCOMMITTED
si las lecturas sucias están bienfuente
¿Cómo sabe que hay algún bloqueo cuando se ejecuta el informe? Le sugiero que verifique la consulta / proceso almacenado que es la fuente del informe y se asegure de que funcione bien por sí mismo.
Si está seguro de que la consulta de origen funciona bien, intente identificar el problema con el generador de perfiles del servidor SQL. El siguiente enlace podría ayudar:
/programming/9107383/sql-server-profiler-capture-calls-to-your-databases-stored-procs-during-ssrs
fuente