Árvore de páginas

Esta build contempla uma mudança de comportamento e requisitos para limpeza de tabelas temporárias criadas pela aplicação AdvPL através do TOTVS | DBAccess em bancos de dados MSSQL 

SituaçãoEm ambientes onde o banco MSSQL Server está sendo executado em modo contained, não é possível liberar os grants necessários — GRANT SELECT ON sys.dm_tran_locks e GRANT VIEW SERVER STATE — usados para verificar se uma tabela temporária está em uso na aplicação ao tentar limpar a tabela usando DROP TABLE ou TCDelFile().
OcorrênciaSão registrados erros de falha de limpeza das tabelas temporárias durante a execução da aplicação — caso a aplicação tente limpar / apagar uma tabela — e na finalização de conexão. Como consequência da da ocorrência acima, caso uma aplicação utilize o mesmo nome identificador de tabela temporária duas vezes, ocorre falha na tentativa de criar a tabela novamente – pois ela ainda existe no banco de dados. 
Melhoria
  • Não será mais executada a verificação de tabela em uso preventiva pelo TOTVS | DBAccess, ao tentar dropar a tabela durante a execução da aplicação.
  • Não é mais necessário liberar os grants mencionados para verificar se é possível ou não deletar / dropar uma tabela temporária durante a execução da aplicação. 
  • Para evitar o congelamento / travamento da instrução de DROP enviada ao banco de dados, caso a tabela eventualmente esteja em uso (aberta na camada ISAM e/ou com Query aberta), o TOTVS | DBAccess passa a submeter a instrução ao MSSQL com um timeout de espera de bloqueio de 5 segundos.
  • Caso a tabela esteja em uso, e o banco de dados não conseguir acesso exclusivo na tabela/schema em 5 segundos para realizar o DROP, a operação é cancelada pelo banco de dados com o erro Lock request time out period exceeded.
Informações adicionais