Perguntas mais frequentes / Anvaigo Mobile App / Informações sobre bloqueios de SQL
Esta é uma tradução automática. O post original está disponível em Inglês .

Informações sobre bloqueios de SQL

Um “SQL Deadlock” ocorre no Microsoft Dynamics 365 Business Central quando dois ou mais processos estão à espera de recursos que estão bloqueados uns pelos outros. Nesta situação, nenhuma das transacções envolvidas pode prosseguir porque cada uma delas detém um recurso de que a outra necessita. Para resolver o conflito, o servidor SQL seleciona automaticamente um processo como a vítima do impasse e termina-o revertendo a transação. O outro processo pode então continuar as alterações necessárias.

Impacto dos bloqueios de SQL

  • Não ocorre perda de dados, uma vez que o código Dynamics AL bem concebido e as suas transacções SQL resultantes são concebidos para recuar de forma limpa em caso de falha.
  • Para os utilizadores finais, por exemplo, quando utilizam o Web Client, um impasse resulta numa mensagem de erro. O utilizador deve então repetir a ação.

Evitar bloqueios

  • Uma ordem de bloqueio consistente entre processos pode evitar a maioria dos bloqueios. Isto deve ser definido e aplicado na lógica da aplicação.
  • Nem sempre é possível evitar completamente o bloqueio, especialmente quando as considerações de desempenho exigem sequências de bloqueio variáveis.

Relevância para a aplicação móvel Anvaigo

  • Os bloqueios de SQL não são críticos na aplicação móvel Anvaigo, uma vez que os mecanismos de repetição automática garantem que as transacções falhadas são reprocessadas.
  • A vítima do impasse não tem qualquer impacto negativo no processamento de dados ou na experiência do utilizador, uma vez que este não verá qualquer nova tentativa.
  • Neste contexto, nem sempre é possível evitar um impasse, uma vez que a ordem de bloqueio dos recursos determina por si só a ocorrência de uma situação de impasse.
  • No entanto, isto não é problemático porque o sistema repete automaticamente o processamento dos dados recebidos, garantindo que é concluído com êxito.