Manual de conversão de SQL Server para PostgreSQL

1. O primeiro passo para realizar a atualização/conversão é verificar se os logs dos bancos de dados offline do cliente foram totalmente sincronizados com o servidor. Caso tenha algum anReplicationClient travado ou algum log pendente, é necessário fazer o ajuste antes de seguir os próximos passos.

1.1 Depois de se certificar que está tudo em conformidade, faça o backup do banco de dados do cliente.

1.2 É recomendável fazer ensaios de conversão em sua própria máquina de testes, tanto para garantir que tudo ocorrerá de acordo com o previsto, quanto para fins de familiarização com o procedimento.

1.3 Atualize o Nereus para a Versão SQL Server mais recente possível para que as tabelas sejam compatibilizadas.

2. Baixe e instale o PostgreSQL. Caso o sistema operacional seja de 64 bits, escolha a versão 12. Caso seja de 32 bits, escolha a versão 10. Após o download, execute o setup e siga o passo a passo a seguir:

3.  Baixe o Material de conversão e faça a extração (arquivo compactado). Há três pastas nele com as seguintes denominações: “1-Analisador de Arquivos”, “2-Conversor de dados” e “3-Otimizador de banco”. Abra a pasta “Analisador de dados” do material de conversão e execute o aplicativo Analisador. Nesta etapa iremos validar e corrigir (se necessário) as constraints e os campos DM_SN, conforme passo a passo a seguir.
 
3.1  Clique em “configurar conexão com banco de dados”. Os dados referentes à conexão já estarão previamente preenchidos. Clique em “testar” e caso o ícone fique verde, clique em salvar.
Caso fique vermelho, verifique as configurações de conexão apresentadas na janela, corrija o que for necessário e teste novamente até que a conexão seja estabelecida.

3.2 Clique em “executar validação de constraints”. Caso apresente alguma ocorrência, clique em “executar script correção”

3.3  Clique em “validar campos DM_SN”. Caso apresente alguma ocorrência, clique em “executar script correção”.
3.4 Após isso, clique em “ok” na mensagem que aparecerá informando que as correções foram
finalizadas e feche o aplicativo Analisador de dados.
 
4. Abra a pasta “Conversor de dados” do material de conversão e execute o aplicativo Conversor. Nesta etapa iremos criar o banco de dados ansg no PostgreSQL, fazer a conversão de dados e comparar os registros, conforme passo a passo a seguir.

4.1 Clique em “criar banco PG destino”. Uma tela será aberta solicitando para que selecione a pasta com a instalação do Nereus da versão SQL instalada anteriormente. Atenção: Não se trata da pasta Nereus ou da pasta Install, mas sim da pasta que contém o setup da versão SQL instalada/atualizada no primeiro passo deste tutorial.

4.2 Clique em “criar banco PG destino”. Uma tela será aberta solicitando para que selecione a pasta com
a instalação do Nereus da versão SQL instalada anteriormente. Atenção: Não se trata da pasta Nereus
ou da pasta Install, mas sim da pasta que contém o setup da versão SQL instalada/atualizada no
primeiro passo deste tutorial.

4.3 Aguarde enquanto o processo está sendo executado. Ao fim aparecerá a seguinte tela solicitando para que pressione qualquer tecla para continuar:
4.4 Agora que o banco de dados com a estrutura do PostgreSQL foi criado, devemos configurar a conexão com ele. Para isso, clique em “config banco destino”. Os dados referentes à conexão já estarão previamente preenchidos. Clique em “testar” e caso o ícone fique verde, clique em salvar. Caso fique vermelho, verifique as configurações de conexão apresentadas na janela, corrija o que for necessário e teste novamente até que a conexão seja estabelecida.

4.5 Clique em “Converter”, confirme que deseja iniciar a conversão e aguarde o término do processo. Ao fim, será mostrada a quantidade de tabelas a converter e a quantidade de tabelas convertidas. A quantidade deve ser a mesma para ambos.

4.6 Clique no botão “comparar registros”. Quando a comparação for finalizada, o Conversor apresentará
as seguintes mensagens:
• Tabelas com divergência em quantidade de registros
• Pronto
Caso nenhum registro seja apresentado entre essas duas mensagens, significa que não há divergências
e o Conversor poderá ser fechado. Caso seja apresentado algum erro ou nome de alguma tabela/registro
com divergência, este caso deverá ser analisado para determinar como proceder com a correção

5. Neste passo, serão realizadas as configurações para otimização e melhorias de performance do banco de dados. Abra a pasta “Otimizador de banco” do material de conversão e execute como administrador o aplicativo “ConfigurarPostgreSQL”.

5.1 Clique em “carregar configurações” para que o aplicativo faça a leitura das configurações da máquina, informe o caminho da pasta Bin do PostgreSQL, insira a senha do banco de dados e clique em “aplicar configurações”.

5.2 Caso a API que o aplicativo utiliza não esteja disponível, é possível realizar essa configuração de uma
outra forma. Ainda na pasta “Otimizador de banco” está disponível um arquivo em PDF com as
orientações sobre o procedimento. Se preferir, clique neste link para obter acesso ao mesmo arquivo.
  • Para liberar o acesso ao banco de dados a partir de outra máquina, deve-se editar o arquivo pg_hba.conf que geralmente fica no seguinte diretório: C:\Program Files\PostgreSQL\12\data

6. Abra o arquivo com o bloco de notas, role até o final do conteúdo e adicione uma linha nas configurações de IPv4 liberando o acesso ao banco, como na imagem a seguir. Atenção: Esta configuração deve ser feita com muita cautela, uma vez que o banco deixará de ser restrito. Para informações completas sobre o assunto, acesse a Documentação redigida pelo técnico Josemar Parreira.

6.1  Como informado na documentação citada anteriormente, é necessário também liberar a porta do PostgreSQL nas configurações de firewall do Windows.
·                    Vá em Painel de Controle e clique em Windows Defender Firewall.
·                    Clique em “configurações avançadas”
·                    Depois clique com o botão direto em “Regras de entrada” e em seguida “Nova Regra”.
·                    Na nova janela que abrirá, escolha:
1° Tipo de regra, selecione “Porta”.
2° Selecione “TCP” e coloque a porta “5432“.
3° Marque a opção “Permitir conexão”.
4° Selecione qual domínio se aplica.
5° Adicione um nome para a regra, por exemplo Acesso externo PostgreSQL.
·                    Reinicie o serviço do PostgreSQL para que a as configurações sejam aplicadas.
·                    Para isso, vá em iniciar > executar: services.msc
·                    Ache o serviço do PostgreSQL e mande reiniciar.
 
7.  O próximo passo é fazer o download da versão mais recente do Nereus versão PostgreSQL. A pasta Nereus antiga com a versão SQL Server deverá ser renomeada (ex.: Nereus_SQL) antes de executar o novo setup, dando espaço assim a uma nova pasta Nereus com a versão Postgres.
 
7.1 Ao executar o setup, alguns detalhes que mudaram devem ser observados em relação às versões do SQL Server, como o nome de usuário para acesso ao banco de dados que agora é “Postgres” e a porta que agora é 5432. Por convenção, os nomes das bases de dados agora adotam caracteres em caixa baixa.

7.2 O restante do setup permanece basicamente da mesma forma, porém no passo que é mostrado o resumo das configurações informadas na instalação (Revisão da Instalação – última tela do setup antes de avançar para atualizar), é necessário clicar em Ajuda Opções Avançadas Sequences Refazer.

7.3 Após isso, feche a janela de configurações avançadas e clique em “Avançar” no setup, finalizando assim o processo de atualização.
 
8. Ao abrir o Nereus com a versão PostgreSQL, lembre-se dos seguintes detalhes:
8.1  Na tela de logon, clique em servidor e teste as conexões. Após testar, pressione “ok” e reinicie o Nereus para que as configurações sejam gravadas no arquivo ini de configuração.

8.2 Selecione a empresa na tela de logon.

9. Para as demais máquinas, não será possível buscar a atualização do servidor nesse procedimento de conversão pelo fato das máquinas estarem com versões de banco de dados distintos. Portanto, para elas o procedimento se resume a renomear a pasta Nereus, executar o setup da versão PostgreSQL e executar o mesmo procedimento indicado nos passos 8, 8.1 e 8.2. Caso a máquina não tenha banco de dados local, não é necessário instalar o PostgreSQL.

9. Em máquinas onde contém banco de dados offline, o procedimento de conversão pode ser
opcionalmente realizado da mesma forma do banco principal, porém na maioria dos casos é feito
apenas um Backup do banco de dados offline e criado um novo. O PostgreSQL deve ser instalado
nessas máquinas. Lembrando que para executar o anReplicationClient em versões atuais, é necessário
marcar a flag na configuração da conexão com o banco.

9.2 Lembre-se também de configurar o aplicativo anNFCeApp, que é uma ferramenta desenvolvida para
enviar NFC-es pendentes de determinados períodos (padrão 30 dias anteriores) que já estejam
sincronizados com o ANSG, de todas as empresas cadastradas, substituindo a função que era feita pelo
anUpdateCenter e automatizando o processo que era feito na Gestão de NFC-e ao usar a função de
resolver cupons pendentes. O aplicativo precisa ser configurado somente no servidor, diferentemente
do anUpdateCenter que precisava ser configurado por estação emissora de cupom eletrônico.
Para configurar, é necessário abrir o anServer, clicar em “Opções”, depois em “Configurações” e
marcar a flag “Executar anNFCeApp”. Após habilitado, o app é executado juntamente com o anServer.
No próprio aplicativo é possível definir o período a ser trabalhado e o intervalo de execução em que
ocorrerá nova verificação da existência de cupons pendentes e o processo de resolução destes.
10. Baixe o SQLBackupAndFTP. Essa é a ferramenta padrão que estamos utilizando atualmente para configurar Backups e Restores. Para instalar, basta aceitar os termos de licença e ir clicando em seguinte.
10.1 A ferramenta já vem com um job de backup pré-selecionado. Para configurar, clique no ícone de
engrenagem de “connect to database server” e configure as conexões com o banco de dados:
10.2  Clique no ícone de engrenagem de “select databases”. A ferramenta em sua versão gratuita permite selecionar até duas bases de dados para agendar os backups automáticos.
10.3 Clique no ícone de adicionar “store backups in selected destination” para selecionar o local de armazenamento de backups. Na janela que abrir, é possível configurar o tempo para deletar os backups antigos automaticamente. A ferramenta em sua versão gratuita permite armazenar os arquivos localmente, enquanto a versão paga permite armazenar os dados na nuvem.
10.4 Clique no ícone de engrenagem “Schedule backups” para agendar os horários dos backups, onde é
possível selecionar o horário de início, os intervalos e os dias da semana.
10.5  Após finalizar essas configurações, clique no botão “Run Now” para testar se o backup foi
devidamente armazenado no local definido.

10.6 O Job de Restore é semelhante ao de backup. Basta clicar no ícone de “+” no topo do aplicativo e selecionar “Add restore job”. Nele basta configurar o local onde está o backup a ser restaurado (Take backups from), selecionar o tipo de base de dados para restaurar como ansg, anrep, etc. (Select databases to restore), selecionar o tipo de banco de dados que no caso o será PostgreSQL (Restore do database server) e clicar no botão “Restore”. Caso queira saber mais sobre a ferramenta, acesse o Documento elaborado pelo técnico Fernando Jeferson.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *