SQL Server Performance

BLOQUEOS EN SQL SERVER 2000

Discussion in 'Preguntas sobre SQL Server en Español.' started by jjgonzalez, May 21, 2008.

  1. jjgonzalez New Member

    Hola amigos.
    Nunca había tenido este problema. Pero desde hace poco tiempo, en mi base de datos se estan generando muchos bloqueos. A veces llegan incluso a 20 concurrentes. Podríais decirme de que manera puedo trabajar con los bloqueos, locks, deadlocks, para averiguar pq se producen¿?. Me puede ayudar el SQL Server Profiler¿?. Por favor ayuda.
    Gracias y un saludo.
  2. Luis Martin Moderator

    Hay varias formas de buscar las razones de los bloqueos.
    Muchas de ellas las prodrás encontrar en varios artículos en este forum.
    Lo primero es utilizar el sp_who2 para descubrir cuáles son los procesos (ID) que están siendo bloqueados y a su vez el primero en la cadena de bloqueos.
    Dado que el sp_who2 te muestra los usuarios bloqueados incluyendo al original, puedes preguntarle a ellos que trabajo están haciendo. Con esto puedes conocer qué o cuáles tablas son el objeto del bloqueo.
    Adicionalmente puede ejecutar el Profiler con eventos de TSQL y SP, con columnas de duración y nombre del usuario. Al final de la traza del Profiler, lo puedes ordenar por usuario, duración.
    Las duraciones más grandes, seguramente son las bloqueadas. Allí encontrarás el o los queries que ocasionan tal bloqueo.
    A partir de allí, dependerá si la aplicación es cerrada o de terceras partes o propia con código abierto. Seguramente tendrás que hablar con los desarrolladores para ver cómo se puede mejorar.
    El anterior son los casos más difíciles de resolver.
    También podría ser que se trata de un informe que bloquea una tabla o algo parecido. En esos casos una optimización de índices podría bastar o no.
    Espero que con lo anterior tengas por donde empezar a analizar.
  3. jjgonzalez New Member

    Muchísimas gracias por tu respuesta. Me vale perfectamente para empezar a mirar. De nuevo gracias.

Share This Page