SQL - Bloqueos

   
Vista:

Bloqueos

Publicado por Isabel (15 intervenciones) el 17/04/2008 17:38:45
Hola!
Tengo el siguiente problema:
Cuando se ejecutan selects a una tabla y luego hago un sp_lock2 SPID del que consulta encuentro:

spid dbid OBJid Indid type Resource Mode Status Nombre
231 7 0 0 DB S GRANT NULL
231 7 1361491979 1 PAG 1:887406 IS GRANT TABLA
231 7 1361491979 3 PAG 5:50164 S GRANT TABLA

Que la tabla consultada tiene bloqueos compartidos, y los demás usuarios (no siempre) se bloquean, entonces hay que eliminar el SPID y los bloqueos se limpian.

¿qué está sucediendo? ¿cómo puedo evitarlo?

muchas gracias
Isabel
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

RE:Bloqueos

Publicado por Isaias (5073 intervenciones) el 17/04/2008 18:52:43
¿como evitarlo?, sencillo, para el que ejecuta el select agrega la clausula NOLOCK

SELECT * FROM CLIENTE WHERE CLIENTE = @IDCLIENTE WITH NOLOCK
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

RE:Bloqueos

Publicado por Isabel (15 intervenciones) el 17/04/2008 18:56:01
hola

Y eso tiene alguna desventaja? por ejemplo que la consulta deje de leer algunos datos?

Gracias nuevamente
Isabel
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

RE:Bloqueos - Otra consulta

Publicado por Isabel (15 intervenciones) el 17/04/2008 19:05:17
hola Isaias

¿Está mal que coloque los selects dentro de un Begin Tran - Commit Tran?
¿Esto puede estar generando los bloqueos compartidos? Porque cuando ejecuto el commit se limpian los bloqueos..

Isabel
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

RE:Bloqueos - Otra consulta

Publicado por Isaias (5073 intervenciones) el 18/04/2008 20:12:58
No es malo, siempre y cuando establezcas perfectamente la duracion de transaccion, ademas de incluir la clausula NOLOCK
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