locked
Error : 1222 RRS feed

  • Pergunta

  • Boa tarde!

    Trabalho com um software ERP e está com problema em uma rotina apresentando o seguinte erro:

    -Error : 1222 (37000) (RC=-1) - [Microsoft][SQL Server Native Client 11.0][SQL Server]Tempo limite da solicitação de bloqueio excedido.

    È possível aumentar o Timeout do Sql Server 2016

    Att

    Jorge

    quarta-feira, 20 de novembro de 2019 17:11

Respostas

  • JorgeChing,

    Tendo como base o error id: 1222 provavelmente sua aplicação esta deparando com deadlock, ainda mais a mensagem:

    "Tempo limite da solicitação de bloqueio excedido."

    Antes de pensarmos em qualquer alteração de configuração, ainda mais relacionada a timeout, é recomendável monitorar estes eventos e ocorrências de deadlock, existem diversas possibilidades, vou indicar inicialmente este link:

    https://www.sqlshack.com/monitoring-sql-server-deadlocks-using-the-system_health-extended-event/

    Bem como, este código de exemplo, obtido através de documentação oficial, que vai justamente lhe ajudar a obter a relação de deadlocks: Finding and Extracting deadlock information using Extended Events


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]


    quarta-feira, 20 de novembro de 2019 17:26
    Moderador
  • Deleted
    quarta-feira, 20 de novembro de 2019 19:31
  • Olá amigos, 

    Queries 'mal' desenhadas podem ser a causa . As vezes uma falta de commit faz a transação ficar presa. Mas, ai já caso para os desenvolvedores analisar. 

    Como o José disse, de uma olhada na ocorrencia repetida de processo e mesmo sem muito conhecimento de 'desenv' poderá dar o caminho para a equipe de DEV. 


    Se esta resposta lhe ajudou, marque-a como útil para que outra pessoa com dúvida ou problema semelhante possa encontrar resposta ou ajuda mais facilmente. * Jefferson Clyton Pereira da Silva - [ MCSA | MCP | MCTS | MTA | Analista de Banco de Dados - Sql Server e Oracle ]

    quinta-feira, 21 de novembro de 2019 12:31

Todas as Respostas

  • JorgeChing,

    Tendo como base o error id: 1222 provavelmente sua aplicação esta deparando com deadlock, ainda mais a mensagem:

    "Tempo limite da solicitação de bloqueio excedido."

    Antes de pensarmos em qualquer alteração de configuração, ainda mais relacionada a timeout, é recomendável monitorar estes eventos e ocorrências de deadlock, existem diversas possibilidades, vou indicar inicialmente este link:

    https://www.sqlshack.com/monitoring-sql-server-deadlocks-using-the-system_health-extended-event/

    Bem como, este código de exemplo, obtido através de documentação oficial, que vai justamente lhe ajudar a obter a relação de deadlocks: Finding and Extracting deadlock information using Extended Events


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]


    quarta-feira, 20 de novembro de 2019 17:26
    Moderador
  • Olá amigo, 

    Sigo a linha do que o Junior Galvão falou sobre você fazer o monitoramento com tracers para entender o problema que esta ocorrendo , só penso diferente em relação ao DeadLock . Na minha visão seria somente um LOCK. Após algum tempo de LOCK a aplicação apresenta o ERRO e o sistema fica 'travado'. 

    Verifique primeira como ele falou em quais processos que estão ocorrendo estes locks. 

    Locks devem ser tratados normalmente de forma isolada , mas, algumas configuraçoes de Banco / Instancia também podem resolver (ou ajudar).  


    Se esta resposta lhe ajudou, marque-a como útil para que outra pessoa com dúvida ou problema semelhante possa encontrar resposta ou ajuda mais facilmente. * Jefferson Clyton Pereira da Silva - [ MCSA | MCP | MCTS | MTA | Analista de Banco de Dados - Sql Server e Oracle ]

    quarta-feira, 20 de novembro de 2019 17:52
  • Deleted
    quarta-feira, 20 de novembro de 2019 19:31
  • Olá amigos, 

    Queries 'mal' desenhadas podem ser a causa . As vezes uma falta de commit faz a transação ficar presa. Mas, ai já caso para os desenvolvedores analisar. 

    Como o José disse, de uma olhada na ocorrencia repetida de processo e mesmo sem muito conhecimento de 'desenv' poderá dar o caminho para a equipe de DEV. 


    Se esta resposta lhe ajudou, marque-a como útil para que outra pessoa com dúvida ou problema semelhante possa encontrar resposta ou ajuda mais facilmente. * Jefferson Clyton Pereira da Silva - [ MCSA | MCP | MCTS | MTA | Analista de Banco de Dados - Sql Server e Oracle ]

    quinta-feira, 21 de novembro de 2019 12:31