Forum
See question

Erro tempo limite de espera   

14 views
0
♥ 0

Ao gravar/imprimir um documento de fatura, dá erro de limite de tempo de espera.

Reiniciei o serviço sql da instância utilizada e não resolveu. Apenas resolveu reiniciando a máquina (que também é servidor e posto).

De referir que a memória estava em 92% antes de reiniciar a máquina.

Porque acontece este erro?

Faça login para poder traduzir
Primavera
Marked as spam
Criado há 21 horas e 30 minutos srgiosantos-2
s
srgiosantos-2 Responsiveness Member
1 answers
0
Private answer

O erro de “tempo limite de espera” (timeout) ocorre porque a operação de gravação/impressão da fatura não consegue ser concluída dentro do tempo máximo definido para a ligação/execução no Cegid Primavera e/ou no SQL Server.

No seu caso, há dois sinais claros:

  • Memória do servidor/posto a 92 % antes do reinício.
  • Reiniciar apenas o serviço SQL não resolveu; só o reboot completo da máquina resolveu.

Isto indica que o problema não é apenas do serviço SQL em si, mas de sobrecarga de recursos da máquina (memória e possivelmente CPU / disco). Quando o servidor está muito carregado:

  • As queries do Cegid Primavera para gravar/imprimir o documento demoram muito mais tempo a executar.
  • O tempo de resposta ultrapassa o timeout configurado na plataforma ou no SQL Server.
  • Daí surgir o erro de “tempo limite de execução expirado”.

Ao reiniciar a máquina, a memória é libertada, os processos “presos” são terminados e o SQL volta a responder dentro dos tempos normais, deixando de ocorrer o erro.

Para reduzir a probabilidade de voltar a acontecer, é recomendável:

  1. Aumentar o tempo de espera na plataforma (Administrador > SISTEMA | Inicialização da Plataforma) para um valor mais alto, por exemplo 999 ou 0 (sem limite).
  2. Aumentar também o timeout no SQL Server (nas definições de ligação/servidor, conforme a configuração em uso).
  3. Otimizar a base de dados:
    • Atualizar estatísticas:

      EXEC sp_updatestats
    • Reindexar todas as tabelas (ao final do dia):

      Exec sp_MSforeachtable "dbcc dbreindex('?')"
  4. Verificar o nível de compatibilidade da base de dados no SQL Server e colocá-lo na versão máxima suportada pelo motor instalado.
  5. Analisar o consumo de recursos:
    • Ver se o SQL Server está a consumir demasiada memória sem limite.
    • Ver se existem outros serviços/processos a consumir muita RAM ou CPU.
    • Se for SQL Express com muitas bases de dados ou muitos utilizadores, ponderar migrar para uma edição mais adequada.

Em resumo: o erro acontece porque, com a máquina quase sem memória disponível, o SQL e o Cegid Primavera não conseguem concluir a operação de gravação/impressão da fatura dentro do tempo configurado, originando o timeout. O reboot “limpa” o estado de sobrecarga, mas é importante atuar na causa (recursos, manutenção da BD e timeouts) para evitar recorrência.

Esta resposta foi gerada pelo Cegid Pulse, com base na base na informação disponível em histórico.
Ajude-nos a melhorar esta funcionalidade:
• Se a resposta corresponde à sua questão, assinale-a com "Mark as best answer",
• Se a resposta estiver incorreta, dê-lhe um voto negativo e aguarde a resposta da comunidade.

Faça login para poder traduzir
Marked as spam
Criado há 21 horas e 30 minutos cegidpulse
cegidpulse Cegid Pulse Most Valuable Professional