01. VISÃO GERAL

Antes de tudo, é importante entender que o License Server é uma rotina da equipe de framework da TOTVS (Protheus).

Existem algumas documentações disponibilizadas pela equipe de framework que é possível entender sobre essa questão: TOTVS License Server Virtual

Por meio do License Server, é possível definir sequenciamento automático para as tabelas, conforme links: Configurando o Microsiga ProtheusNumeração automática pelo License Server

02. FUNCIONAMENTO DO LICENSE E PERDA DA NUMERAÇÃO

As sequencias do License são obtidas por meio da tag SpecialKey junto com o ID da Tabela.

Quando ocorre a parada manual e planejada do License Server, o Sistema Operacional envia uma instrução à camada de LIB do Protheus. Essa camada, por sua vez, se comunica com o License Server e guarda as numerações corretamente.

Ocorre que fatores externos podem ocasionar com que o License Server seja interrompido de maneira inesperada, como uma queda de energia ou outras variáveis de ambiente. Quando isso ocorre, o Sistema Operacional não comunica a camada da LIB. Com isso, o controle de numeração é perdido.

03. PROCEDIMENTO PARA AJUSTE DA NUMERAÇÃO DO LICENSE

Mesmo que ocorra uma interrupção no serviço do License Server de maneira inesperada, este recupera a sequência, mas para isso faz-se necessário alguns pré-requisitos.

1 - A tag SpecialKey precisa estar configurada no AplicationServer.Ini do ambiente e esta precisa apontar para os respectivos ambientes. Em resumo, ambientes com bancos de dados diferentes e dicionários diferentes precisam apontar para SpecialKey diferentes. No link a seguir é possível entender o funcionamento da tag SpecialKey: SpecialKey

2 - Após o ajuste no ApplicationServer.Ini, reiniciar o License Server e o Application Server.

3 - Caso o ambiente já possua a tag SpecialKey configurada, é necessário parar o serviço do License, ajustar a numeração no Configurador e subir o serviço do License Server novamente.



<!-- esconder o menu --> 


<style>
div.theme-default .ia-splitter #main {
    margin-left: 0px;
}
.ia-fixed-sidebar, .ia-splitter-left {
    display: none;
}
#main {
    padding-left: 10px;
    padding-right: 10px;
    overflow-x: hidden;
}

.aui-header-primary .aui-nav,  .aui-page-panel {
    margin-left: 0px !important;
}
.aui-header-primary .aui-nav {
    margin-left: 0px !important;
}
</style>