Store Procedure

23/11/2006 - 04:44 por Myriam Cerda | Informe spam
Tengo una aplicacion que la corren mas de 5 usuarios, y en esta semana ha
estado pasando algo curioso con esta aplicacion, pues resulta que cuando una
maquina ejecuta un reporte el resto de las maquinas se congelan y hasta que
el reporte no es generado las demas maquinas pueden continuar ...

Esre reporte se genera dentro de un SP y utiliza tablas temporales ...

Algina sugerencia por donde atacar el problema.?

Gracias.

Preguntas similare

Leer las respuestas

#6 Javier Loria
23/11/2006 - 19:07 | Informe spam
Hola Myriam:
Te recomiendo que NO hagas eso. El read uncommited produce problemas muy
serios de integridad.
No tienes alguna forma de reducir el tiempo de ejecucion del reporte?
Saludos,

Javier Loria
Costa Rica-MVP
Solid Quality Learning


"Myriam Cerda" wrote in message
news:
Gracias Javier,

No no tengo el SLQ2005, con el que cuento es el SLQ 2000, pero estuve
leyendo y creo que seria esta instruccion

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED

ahora, esta se la pondria al SP, correcto?

"Javier Loria" wrote in message
news:%
Hola Myriam:
Este comportamiento ocurre porque el reporte esta bloqueando las
tablas que los otros ordenadores quieren procesar. Esto es necesario para
mantener la integridad de la consulta.
Si tienes SQL2005 es posible usar una nueva capacidad llamada, Read
committed isolation.
Saludos,

Javier Loria
Costa Rica-MVP
Solid Quality Learning

"Myriam Cerda" wrote in message
news:
Tengo una aplicacion que la corren mas de 5 usuarios, y en esta semana
ha estado pasando algo curioso con esta aplicacion, pues resulta que
cuando una maquina ejecuta un reporte el resto de las maquinas se
congelan y hasta que el reporte no es generado las demas maquinas pueden
continuar ...

Esre reporte se genera dentro de un SP y utiliza tablas temporales ...

Algina sugerencia por donde atacar el problema.?

Gracias.










Respuesta Responder a este mensaje
#7 AndresMR
24/11/2006 - 14:16 | Informe spam
Otra de las formas para que no se bloqueen las tablas puede ser la
utilizacion del "With(Nolock)" después del nombre de la tabla o bien
sea despues del alias.

Cordial Saludo
Respuesta Responder a este mensaje
#8 Alejandro Mesa
24/11/2006 - 16:25 | Informe spam
AndresMR,

Ese "table hint" es equivalente a usar "SET TRANSACTION ISOLATION LEVEL READ
UNCOMMITTED", nivel que no respeta las transacciones que no se han salvado
por lo que el resultado de la lectura puede incluir data sucia (que no se ha
salvado).


AMB

"AndresMR" wrote:

Otra de las formas para que no se bloqueen las tablas puede ser la
utilizacion del "With(Nolock)" despuis del nombre de la tabla o bien
sea despues del alias.

Cordial Saludo


Respuesta Responder a este mensaje
#9 Eladio Rincón
24/11/2006 - 16:25 | Informe spam
Con el permiso de Javier,

el efecto es el mismo... estarás leyendo datos que pueden ser "sucios"...
digo pueden ser porque podrás leer datos de transacciones que no están
confirmadas...


El ejemplo tipico que muy acertadamente he oido alguna vez es que te
impriman un resumen de ventas de varios millones de euros... cuando luego se
lanza el mismo informe y tan solo son unos cuantos cientos... :(
¿cual fué el problema?, que algún usuario había iniciado una transacción de
la venta del mes, y a mitad de validación (por ejemplo falta de saldo), la
transacción se deshizo porque no se pudo crear...


Saludos,

Eladio Rincón,
Mentor Solid Quality Learning
SQL Server MVP


Visita mi página web
Artículos, recursos y trucos de SQL Server 2000 y 2005
http://www.siquelnet.com


"AndresMR" wrote in message
news:
Otra de las formas para que no se bloqueen las tablas puede ser la
utilizacion del "With(Nolock)" después del nombre de la tabla o bien
sea despues del alias.

Cordial Saludo
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida