none
Bloqueios no SQL RRS feed

  • Pergunta

  • Bom dia

    Gostaria de saber se alguém teria algum script para gerenciar os bloqueios. Por exemplo

    caso aconteça algum processo bloqueando outro no banco de dados, queria receber por e-mail.

    sei que no sp_configure tem uma opção blocked process, que la voce configura o tempo

    mas na verdade queria receber via database mail se tiver algum bloqueio, por alguma procedure talvez.

    desde ja obrigado 




    segunda-feira, 19 de dezembro de 2016 14:37

Respostas

  • Dyego boa tarde,

    A forma eu entendo ser viável para isso que você procura seria uma uma rotina agendada para rodar a cada x tempo onde você parametrizaria o tempo que considera aceitável um lock.

    O que creio ser mais importante do que isso é você descobrir o motivo do lock. Tivemos um problema com blocking e tratavam-se de queries.

    • Marcado como Resposta Dyego Rodrigues segunda-feira, 19 de dezembro de 2016 18:36
    segunda-feira, 19 de dezembro de 2016 18:05
  • Dyego,

    Ok, mas como você vai armazenar e controlar estes possíveis bloqueios?


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

    • Marcado como Resposta Dyego Rodrigues quarta-feira, 21 de dezembro de 2016 14:54
    terça-feira, 20 de dezembro de 2016 14:54
    Moderador
  • Ola Boa tarde

    Seria basicamente uma procedure ou algo do tipo

    onde poderia colocar ela no sql agent e agendar para que roda de X em X minutos que verifique se tem algum bloqueio

    no caso isso não esta acontecendo no meu ambiente, o que queria era me precaver para que se ocorra ja fique sabendo rapidamente que ocorreu e ai partir para o que causou isso 

    obrigado

    • Marcado como Resposta Dyego Rodrigues quarta-feira, 21 de dezembro de 2016 15:01
    segunda-feira, 19 de dezembro de 2016 18:35
  • Bom dia

    Vamos la Junior

    o que eu perguntei foi apenas se alguém ja teria uma procedure que verifica se tem bloqueios no banco, somente isso

    ai no caso eu criaria no Agent um job para chamar essa procedure de x em x minutos ou seja quanto tempo for, para que ele me diga se tem algum bloqueio

    somente isso.

    Não estou dizendo que no meu cenário existe bloqueios. e nem que eu precise controlar algo que nunca aconteceu, e armazenar não entendi o que voce quis dizer. a procedure executaria e se tivesse algum bloqueio o agent me enviaria por e-mail. Obrigado!!

    so estou querendo me precaver somente isso. 

    • Marcado como Resposta Dyego Rodrigues segunda-feira, 2 de janeiro de 2017 14:36
    quarta-feira, 21 de dezembro de 2016 15:01
  • Bom dia

    Vamos la Junior

    o que eu perguntei foi apenas se alguém ja teria uma procedure que verifica se tem bloqueios no banco, somente isso

    ai no caso eu criaria no Agent um job para chamar essa procedure de x em x minutos ou seja quanto tempo for, para que ele me diga se tem algum bloqueio

    somente isso.

    Não estou dizendo que no meu cenário existe bloqueios. e nem que eu precise controlar algo que nunca aconteceu, e armazenar não entendi o que voce quis dizer. a procedure executaria e se tivesse algum bloqueio o agent me enviaria por e-mail. Obrigado!!

    so estou querendo me precaver somente isso. 

    Dyego,

    Ok, perfeito.


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

    • Marcado como Resposta Dyego Rodrigues segunda-feira, 2 de janeiro de 2017 14:36
    sexta-feira, 23 de dezembro de 2016 11:00
    Moderador

Todas as Respostas

  • Dyego boa tarde,

    A forma eu entendo ser viável para isso que você procura seria uma uma rotina agendada para rodar a cada x tempo onde você parametrizaria o tempo que considera aceitável um lock.

    O que creio ser mais importante do que isso é você descobrir o motivo do lock. Tivemos um problema com blocking e tratavam-se de queries.

    • Marcado como Resposta Dyego Rodrigues segunda-feira, 19 de dezembro de 2016 18:36
    segunda-feira, 19 de dezembro de 2016 18:05
  • Ola Boa tarde

    Seria basicamente uma procedure ou algo do tipo

    onde poderia colocar ela no sql agent e agendar para que roda de X em X minutos que verifique se tem algum bloqueio

    no caso isso não esta acontecendo no meu ambiente, o que queria era me precaver para que se ocorra ja fique sabendo rapidamente que ocorreu e ai partir para o que causou isso 

    obrigado

    • Marcado como Resposta Dyego Rodrigues quarta-feira, 21 de dezembro de 2016 15:01
    segunda-feira, 19 de dezembro de 2016 18:35
  • Dyego,

    Ok, mas como você vai armazenar e controlar estes possíveis bloqueios?


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

    • Marcado como Resposta Dyego Rodrigues quarta-feira, 21 de dezembro de 2016 14:54
    terça-feira, 20 de dezembro de 2016 14:54
    Moderador
  • Bom dia

    Vamos la Junior

    o que eu perguntei foi apenas se alguém ja teria uma procedure que verifica se tem bloqueios no banco, somente isso

    ai no caso eu criaria no Agent um job para chamar essa procedure de x em x minutos ou seja quanto tempo for, para que ele me diga se tem algum bloqueio

    somente isso.

    Não estou dizendo que no meu cenário existe bloqueios. e nem que eu precise controlar algo que nunca aconteceu, e armazenar não entendi o que voce quis dizer. a procedure executaria e se tivesse algum bloqueio o agent me enviaria por e-mail. Obrigado!!

    so estou querendo me precaver somente isso. 

    • Marcado como Resposta Dyego Rodrigues segunda-feira, 2 de janeiro de 2017 14:36
    quarta-feira, 21 de dezembro de 2016 15:01
  • Bom dia

    Vamos la Junior

    o que eu perguntei foi apenas se alguém ja teria uma procedure que verifica se tem bloqueios no banco, somente isso

    ai no caso eu criaria no Agent um job para chamar essa procedure de x em x minutos ou seja quanto tempo for, para que ele me diga se tem algum bloqueio

    somente isso.

    Não estou dizendo que no meu cenário existe bloqueios. e nem que eu precise controlar algo que nunca aconteceu, e armazenar não entendi o que voce quis dizer. a procedure executaria e se tivesse algum bloqueio o agent me enviaria por e-mail. Obrigado!!

    so estou querendo me precaver somente isso. 

    Dyego,

    Ok, perfeito.


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

    • Marcado como Resposta Dyego Rodrigues segunda-feira, 2 de janeiro de 2017 14:36
    sexta-feira, 23 de dezembro de 2016 11:00
    Moderador