Índice

Objetivo

O objetivo deste guia é indicar um método de migração dos dados de uma base com agrupamento de caracteres (collation) diferente do padrão "Latin1_General_CI_AS" necessário para a correta utilização da base Fluig.

Procedimento de Migração e Conversão de Dados


Esta operação deve ocorrer antes da conversão de uma base TOTVS | ECM para Fluig. Mesmo com a alteração do agrupamento padrão, os campos existentes permanecem incorretos, podendo assim, causar comportamentos inesperados na utilização da plataforma.


Acompanhe a seguir o check-list para a conversão do Fluig.


  • Gere um DUMP desta base de dados do TOTVS ECM 3.00, com toda estrutura de tabelas e campos. 
  • Para o SGBD Microsoft SQL Server utilize o procedimento a seguir:

    1. Clique com o botão direito do mouse sobre a base de dados.
    2. No menu suspenso escolha a opção Tarefas > Gerar Scripts...
    3. Clique no botão Próximo > para passar a apresentação da Introdução do assistente para Gerar e Publicar Scripts.
    4. Deixe selecionada a opção para Gerar script de todo o banco de dados e todos os objetos de banco de dados e clique no botão Próximo >.
    5. Na tela seguinte, no grupo Tipo de Saída e no grupo abaixo selecione a opção Salvar na nova janela de consulta.
    6. Clique no botão Avançado.
    7. Na tela de Opções de Script Avançadas altere a opção Agrupamento de Scripts para True e clique no botão OK.
    8. Ao retornar a tela Gerar e Publicar Scripts clique no botão Próximo >.
    9. Na etapa a seguir revise as configurações para geração do script da base. Clique no botão Próximo >.

    10. Torne à janela do Microsoft SQL Server Management Studio.

    11. Na nova janela aberta com o script, altere as seguintes linhas e proceda com as alterações abaixo citadas:

      1. Substituir todas as ocorrências do nome antigo do banco de dados para fluig.
        1. Exemplo.: 
          1. Substituir 
          2. Por
      2. Substituir no nome do arquivo .mdf e do arquivo .log para fluig, bem como a label dos arquivos.
        1. Exemplo.:
          1. Substituir
          2. Por
      3. Substituir a ocorrência da versão do banco de dados para o valor 110.
        1. Exemplo.:
          1. Substituir
          2. Por
      4. Substituir a ocorrência do instantâneo de leitura de commit para ON.
        1. Exemplo.:
          1. Substituir
          2. Por
      5. Substituir todas as ocorrências do collation antigo pelo novo Latin1_General_CI_AS. (Aproximadamente 444 ocorrências).
        1. CI significa Case Insensitive, não diferenciando letras maiúsculas de minusculas em suas queries.
        2. AS significa Accept Signal, diferenciado acentuação nos campos de texto em suas queries.
        3. Exemplo.:
          1. Substituir
          2. Por





  • As configurações de agrupamento de caracteres (Collate/Collation) das bases de dados podem ser consultadas utilizando a instrução:


SELECT [name] , [is_read_committed_snapshot_on] , [collation_name] 
FROM [sys].[databases] 
WHERE [name] LIKE 'fluig%';




  • Instalar a versão mais atual Fluig e configurar para apontar para esta base de dados (fluig).



  • Inicializar o serviço Fluig, e acompanhar o LOG, para se certificar de que toda a inicialização foi bem sucedida, sem erros graves, como falha na conexão com o SGBD.





  • Após o serviço ter finalizado a inicialização (com a mensagem "== FLUIG STARTED AND RUNNING RIGHT NOW ==" incluída no LOG), pare o serviço Fluig.





  • Selecione e exclua todas as tabelas desta nova base de dados.



  • Execute o script DUMP gerado nesta nova base de dados, para criar toda a estrutura sem nenhum registro.



  • Proceda com a desativação das chaves (constraints) nas tabelas da base de dados. Para o SGBD Microsoft SQL Server utilize a instrução a seguir:
  1. Abra uma janela de Nova Consulta (menu Arquivo > Novo > Consulta do Mecanismo de Banco de Dados);.

  2. Insira a consulta abaixo e a execute na nova base de dados.


DECLARE @TABLENAME VARCHAR(8000) 
DECLARE @TABLENAME_HEADER VARCHAR(8000) 
DECLARE TNAMES_CURSOR CURSOR FOR 
 
SELECT [name] from [sys].[tables] 
 
OPEN TNAMES_CURSOR 
 	FETCH NEXT FROM TNAMES_CURSOR INTO @TABLENAME 
 		WHILE (@@FETCH_STATUS <> -1) 
 		BEGIN 
 			IF (@@FETCH_STATUS <> -2) 
 			BEGIN 
 			SELECT @TABLENAME_HEADER = 'ALTER TABLE ' + RTRIM(UPPER(@TABLENAME)) + ' NOCHECK CONSTRAINT ALL;' 
			--Alterar o NOCHECK para CHECK para depois habilitar as constraints 
			PRINT @TABLENAME_HEADER 
		END 
	FETCH NEXT FROM TNAMES_CURSOR INTO @TABLENAME 
END
 
SELECT @TABLENAME_HEADER = '--************* Fim das Tabelas *************--' 
PRINT @TABLENAME_HEADER PRINT ' ' 
DEALLOCATE TNAMES_CURSOR 

3. Copie o resultado e cole em uma janela de Nova Consulta e execute (na nova base de dados).



  • Com os serviços Fluig parados realize a importação dos dados a partir da base de dados antiga, com um assistente de importação e exportação de dados, por exemplo. Para o SGBD Microsoft SQL Server utilize o procedimento:
  1. Clique com o botão direito do mouse sobre a nova base de dados.

  2. No menu suspenso selecione a opção Tarefas > Importar Dados...

  3. Na tela de apresentação do Assistente de Importação e Exportação do SQL Server clique no botão Avançar >.

  4. No campo Fonte de dados selecione a opção SQL Server Native Client (ao final é exibido o número da versão, utilize a mesma equivalente à versão do serviço de banco de dados).

  5. No campo Nome do servidor indique (digite ou selecione na caixa suspensa) o servidor e instância que possui a base de dados anterior (que deverá ser compatibilizada / normalizada). 

  6. No grupo Autenticação utilize o método que permite acesso a todos os dados desta base de dados anterior. É recomendado o uso de um usuário com permissão de db_owner.

  7. Selecione ou digite, no campo Banco de dados, a base antiga e clique no botão Avançar >.

  8. Na tela com título (para) Escolher um Destino devem vir preenchidos os campos com informações de acesso a esta nova base de dados. Se as informações estiverem incorretas ou incompletas, corrija-as, e clique no botão Avançar >.

  9. A seguir na tela com título Especificar Cópia ou Consulta de Tabela selecione a opção Copiar dados de uma ou mais tabelas ou exibições e clique no botão Avançar >.

  10. Na tela de título Selecionar Tabelas e Exibições de Origem, clique na primeira caixa de seleção que está nos títulos da listagem de Tabelas e exibições.

  11. Com todos selecionados clique no botão Editar Mapeamentos...

  12. Na caixa Configurações de Transferência marque a caixa de seleção Habilitar inserção de identidade e, então, no botão OK.

    Não deixe de marcar esta opção para que não ocorram falhas na cópia dos dados.

  13. Tornando à janela anterior, Selecionar Tabelas e Exibições de Origem, clique no botão Avançar >.

  14. Na tela com título Revisar Mapeamento de Tipo de Dados clique no botão Avançar.

  15. Na tela com título Executar Pacote marque a caixa de seleção Executar imediatamente e clique no botão Avançar >.

  16. Na tela com título Concluir Assistente, após revisar as ações clique no botão Avançar.

  17. Na tela a seguir de execução das ações ao final deve ser exibida a informação de que a importação foi realizada com sucesso.



  • Realizar o procedimento de repasse das permissões de acesso aos devidos usuários na nova base de dados. Estas podem ter sido perdidas. 



  • Apagar os diretórios temporários (tmp, log, data e servers), localizados no caminho [Instalação fluig]/appserver/domain.



  • Alterar no arquivo de configuração, localizado no caminho [Instalação fluig]/appserver/domain/configuration/domain.xml, a configuração para acesso à base de dados para uso da nova base.



  • Reiniciar o serviço.
  • Realizar as validações desejadas e uso da nova instalação.