Problemas de bloqueos SQL Server 2000

Tengo problemas de bloques en una aplicación power builder con SQl 2000 si me puedes ayudar

1 respuesta

Respuesta
1
Me gustaría que me cuentes un poco más que tipo de problema es.
Tené en cuenta que SQL bloquea de varias formas cuando se produce un update o delete dentro de una transacción. Las recomendaciones que te doy son:
1) Que la transacción sea lo más pequeña posible, y si es posible, abres y cierres varias transacciones en vez de tener una sola.
2) Que todo update o delete use índieces en los campos de la clausula WHERE. Es decir, si estamos haciendo, por ejemplo, un update de una tabla cuando el id = 50, controla que exista un índice en este campo(id),. De esta manera evitamos que SQL elija el bloqueo de toda la tabla y solo bloquea el registro o la entrada del índice para ese registro.
Cualquier duda.
Antes que nada te agradezco mucho tu respuesta. Mira tengo una aplicación que esta dividida en módulos que representa la operación. Y adcionalmente tengo una segunda aplicación especial para emitir toda la gama de informes reportes y estadísticas que se producen por la operación. Cuando se hacen uso de esos reportes es cuando he detectado que bloquea a la aplicación principal. En la aplicación de reportes en todos los select le se insertado la instrucción READUNCOMMITTED PERO AUN ASÍ SE BLOQUEA
En ese caso y dado que las consultas están con la clausula (readuncommitted) no tendría porque bloquearse.
Asegurate que el Readuncommitted este despues de cada tabla en la consulta, .Ej Select tabla1 (readuncommitted) inner join tabla2 (readuncommitted) on...
La que te sugiero es que con el en el momento del bloqueo hagas un sp_who para encontrar el spid que esta bloqueando y luego ver los objetos que bloquea con un sp_lock y ... fíjate que tablas están bloqueadas (Bloqueos de tipo IX, X). Si quieres mandame la salida del sp_lock y la del sp_who (siempre en el momento que tienes la consulta bloqueada) y te digo bien que esta pasando Saludos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas