none
Tabla Bloqueda SQL RRS feed

  • Pregunta

  • Estimados, estoy trabajando con SQL y me di cuenta que una tabla de la BD se bloqueo, y no puedo hacerle consultas sino utilizo un with (nolock), esto paso luego de las ultimas inserciones a dicha tabla y existe un  registro de los últimos ingresados en la BD que no se puede actualizar los datos, pero todos los demás si, tampoco puedo eliminarlo. ¿que puedo hacer para solucionarlo?.

    Atte.-

    Saludos cordiales

    lunes, 4 de septiembre de 2017 13:06

Respuestas

  • Averigua que proceso esta bloqueando la tabla. Desde SSMS puedes concontrarlo llamando a sp_lock o haciendo una select sobre sys.dm_rtan_locks. Esto te permitira averiguar el SPID del proceso que tiene puesto el bloqueo. Suponiendo que sea, por ejemplo el proceso 65, puedes "matarlo" ejecutando "KILL 65". Eso liberara el bloqueo.

    Aparte del problema inmediato de linerar el bloqueo, la segunda fase seria investigar cual es ese proceso y por que deja un bloqueo puesto. Normalmente indica un error de programacion, tipicamente una transaccion que se abre y no se cierra, por ejemplo, si inadvertidamente se ha metido en medio de la transaccion una interaccion con el usuario o con otro recurso externo.

    • Marcado como respuesta Claudio_vbASD lunes, 4 de septiembre de 2017 14:54
    lunes, 4 de septiembre de 2017 14:20

Todas las respuestas

  • Averigua que proceso esta bloqueando la tabla. Desde SSMS puedes concontrarlo llamando a sp_lock o haciendo una select sobre sys.dm_rtan_locks. Esto te permitira averiguar el SPID del proceso que tiene puesto el bloqueo. Suponiendo que sea, por ejemplo el proceso 65, puedes "matarlo" ejecutando "KILL 65". Eso liberara el bloqueo.

    Aparte del problema inmediato de linerar el bloqueo, la segunda fase seria investigar cual es ese proceso y por que deja un bloqueo puesto. Normalmente indica un error de programacion, tipicamente una transaccion que se abre y no se cierra, por ejemplo, si inadvertidamente se ha metido en medio de la transaccion una interaccion con el usuario o con otro recurso externo.

    • Marcado como respuesta Claudio_vbASD lunes, 4 de septiembre de 2017 14:54
    lunes, 4 de septiembre de 2017 14:20
  • Hola,

    A mi me paso lo mismo. El tema no es que se bloquee la tabla, el problema viene por el lado de la consulta. Seguramente en la consulta debes tener un join a la tabla que actualizas. Segun la cantidad de registros el motor de la base decide hacer un scan index en vez de acceder por el indice y ahi viene el problema, al encontrar un registro bloqueado se queda esperando hasta que se libere.


    Victor Koch

    lunes, 4 de septiembre de 2017 14:59
  • Estimado, el tema era raro debido a que no podía hacer update ni eliminar un solo registro de la tabla, pero si a los demas, luego de eso de solucionó solo :S, nose si el problema se debió a que se realizó una inserción desde una web a la bd y este registro se ingreso 2 veces.

    Saludos

    miércoles, 27 de septiembre de 2017 21:32