Como atualizar sua base de testes

Durante uma implantação de SAP Business One a empresa de consultoria cria bases separadas para Produção e para Testes. Na base de Testes temos liberdade de experimentar com configurações e processos para entender melhor o funcionamento do sistema e verificar se as configurações são aderentes a empresa.

Todavia a base de Testes não é útil somente na implantação do sistema, mas também é muito útil para treinar colaboradores, testar algum processo novo na empresa, uma nova configuração de impostos, bem como outras situações.

Vamos direto ao procedimento, e mais abaixo no artigo explicarei alguns detalhes da construção do script SQL. Mas ATENÇÃO: Tenha muito cuidado ao seguir as instruções e tenha certeza de entender tudo o que está acontecendo. Faça backups antes se julgar necessário.

USE [master]
backup database SBO_Comm5_PRD to DISK = 'COMPANY-PRD-Backup.bak' WITH CHECKSUM, COPY_ONLY, FORMAT, INIT, STATS = 100;

ALTER DATABASE [SBO_COMPANY_TST] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
--RESTORE FILELISTONLY FROM DISK = 'COMPANY-PRD-Backup.bak'

RESTORE DATABASE SBO_Comm5_TST FROM DISK = 'COMPANY-PRD-Backup.bak' WITH CHECKSUM, RECOVERY, REPLACE, STATS = 100,
   MOVE 'DB_TEMPLATE_COA' TO 'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA\SBO_COMPANY_TST.mdf',
   MOVE 'DB_TEMPLATE_COA_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA\SBO_COMPANY_TST.LDF';
ALTER DATABASE [SBO_COMPANY_TST] SET MULTI_USER

Depois de executar o backup, a tela de Login do B1 indicará na coluna Empresa tanto a sua base produção quanto a teste com o mesmo nome, e a única diferença será a coluna Banco de dados. Isso pode confundir os usuários, por isso é importante alterar. Para tanto, faça o login com manager na empresa com banco de dados de teste e vá para Módulos -> Administração -> Inicialização do sistema -> Detalhes da empresa. Altere o campo Nome da empresa para TESTE.

Detalhes da empresa, aba Geral, altere o campo Nome da Empresa

Outras dicas para diferenciar a base de teste são em Configurações gerais na aba Exibir alterar o campo Cor, esta configuração altera a cor do fundo de todos os formulários do sistema. Também pode-se utilizar uma imagem de fundo diferente na aba Fonte & fundo.

A diferenciação é importante para evitar confusão entre as bases na hora de fazer transações ou testes.

Explicação do Script

A primeira linha do script é um simples backup da base de produção, consulte a documentação para maiores informações sobre esta parte.

Já na segunda linha temos o SET SINGLE_USER que não é muito óbvio, o motivo deste comando é desconectar os serviços do SAP que rodam no seu servidor desta base enquanto fazemos o restore. Sem este passo o SAP não atualiza as suas informações no SLD e não se consegue fazer login na base de testes. Alguns consultores ao fazer este processo manualmente pelo Management Studio costumam renomear o banco de dados para conseguir o mesmo efeito.

Durante o comando RESTORE, note que especificamos explicitamente o nome dos arquivos do banco de dados através do MOVE. Este passo é importante para evitar a substituição dos arquivos da base de produção.