locked
Sp_who Blkby RRS feed

  • Pergunta

  • Boa Tarde!

    Utilizo o comando sp_who2 para verificar os bloqueios utilizando a coluna blkby

    Rastreando bloqueio a bloqueio encontrei o SPI 36. Porém para minha surpresa ele estava "sleeping"...

    "sleeping" pode gerar block???

    Inclusive executei um dbcc inputbuffer e verifiquei que em algum momentos executava consulta, atualização depois voltava a sleeping. Tudo bem normal na minha analise.

    Só consegui resolver os diversos blocks de blocks dando kill no spid 36.

    alguém já passou por isso?     

    Obrigado!

    Obs. Meu primeiro tópico no fórum :)                

    quinta-feira, 15 de setembro de 2016 17:12

Respostas

  • Bom dia A. Ichihara.

    Em primeiro lugar vou lhe recomendar a procedure do Adam Machanic 'SP_WHOISACTIVE'.

    http://sqlblog.com/blogs/adam_machanic/archive/2012/03/22/released-who-is-active-v11-11.aspx

    Essa procedure é muito util para realizar alguns troubleshooting.

    Bom, isso é ate normal ate acontecer sim, pode ser a aplicação que realizou algumas operações e deixou a conexão aberta, mesmo em sleeping ela continua segurando recursos.

    Att

    Reginaldo Silva

    sexta-feira, 16 de setembro de 2016 11:29

Todas as Respostas

  • Bom dia A. Ichihara.

    Em primeiro lugar vou lhe recomendar a procedure do Adam Machanic 'SP_WHOISACTIVE'.

    http://sqlblog.com/blogs/adam_machanic/archive/2012/03/22/released-who-is-active-v11-11.aspx

    Essa procedure é muito util para realizar alguns troubleshooting.

    Bom, isso é ate normal ate acontecer sim, pode ser a aplicação que realizou algumas operações e deixou a conexão aberta, mesmo em sleeping ela continua segurando recursos.

    Att

    Reginaldo Silva

    sexta-feira, 16 de setembro de 2016 11:29
  • Bom dia Reginaldo,

    Nossa, não sabia que era normal...

    Vou usar esta procedure para verificar o que ela me mostra.

    Obrigado

    sexta-feira, 16 de setembro de 2016 12:27
  • A. Ichihara,

    Na verdade este é um tipo de cenário comum de acontecer no SQL Server ainda mais se analisarmos o número do SPID que no seu caso é 36!!!

    Sabendo-se que os SPIDs que apresentam um número <51 representam processos internos do próprio SQL Server, você vai poder notar através da execução da SP_WHO que estes SPIDs devem estar sendo executados por uma conta de login do próprio SQL Server, mais especificamente a conta SA.

    Além disso, estes processos são controlados pelo SQL OS o que tem total relação com toda estrutura interna do SQL Server, onde normalmente não precisamos se preocupar se este processo poderá nos impactar, o que também vai poder ser identificado a exîstência de outros SPIDs em waiting.


    Pedro Antonio Galvao Junior [MVP | MCC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitario | SoroCodigos | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    sexta-feira, 16 de setembro de 2016 15:58
    Moderador
  • Olá Pedro!

    Acho que quando disse spid 36 dei como exemplo, até tentei achar aqui a numeração correta. Mas acredito que não era 36 pois o usuário não era SA e sim o do meu sistema e o número da maquina era de um usuário do sistema.

    Mesmo assim, obrigado pela dica: "SPIDs que apresentam um número <51 representam processos internos do próprio SQL Server".

    Considerando que o spid seja maior que 50, vc acha que é normal?

    segunda-feira, 19 de setembro de 2016 19:28
  • A.Ichihara,

    Então, ai neste caso temos que analisar, como eu disse anteriormete só podemos dizer se é normal, com base no SPID e usuário que esta envolvido no mesmo.

    Tente identificar qual era realmente o processo.


    Pedro Antonio Galvao Junior [MVP | MCC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitario | SoroCodigos | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    terça-feira, 20 de setembro de 2016 15:25
    Moderador