SQL - Bloqueos dentro de transacción

 
Vista:

Bloqueos dentro de transacción

Publicado por Mario (1 intervención) el 16/06/2005 10:27:56
Hola, tengo una pregunta referenta a bloqueos.
Al abrir una transacción, hago un insert en una tabla y la tabla queda totalmente bloqueada hasta que más tarde se haga el commit.
¿Hay alguna manera de que esto no sea así?
¿Hay alguna forma de que otro usuario pueda lanzar una select sobre esa tabla y no se quede pillada la consulta hasta el commit del primer usuario?
El tema de bloqueos no lo domino demasiado, ayudadme por favor!!!

Muchas gracias por vuesgtra atención.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:Bloqueos dentro de transacción

Publicado por Liliana (426 intervenciones) el 16/06/2005 14:36:18
Hola Mario,
MS SQL SERVER:
Los maestros y los manuales dicen que las transacciones deben abrirse los más tarde posible y cerrarse lo antes posible, creo que tendrías que revisar ese "la tabla queda totalmente bloqueada hasta que más tarde se haga el commit", tal vez debas analizar la posibilidad de cerrarla antes.

La opción para que otro usuario pueda leer mientras la tabla está bloqueada, aunque no te la recomiendo, te la paso para que sepas que existe, es el hint WITH NOLOCK:
SELECT dato FROM tabla WITH (NOLOCK) WHERE clave = @variable

Esto te lo doy a título informativo solamente, insisto en que revises cómo está escrito tu query.

Saludos,
Liliana.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar