Árvore de páginas

Í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


Atenção!

Esta operação deve ocorrer antes da conversão de uma base TOTVS ECM para TOTVS Fluig Plataforma. 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 checklist para a conversão.


    • 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. (Aproximadamente 39 ocorrências).

          -- antes
          	CREATE DATABASE [byyouecm_ofi]
          
          -- depois
          	CREATE DATABASE [fluig]
          
          -- comando
          -- replaceAll apenas na palavra  byyouecm_ofi
        2. Substituir no nome do arquivo .mdf e do arquivo .log para fluig, bem como a label dos arquivos.

          -- antes
           ON  PRIMARY 
          ( NAME = N'Webdesk300_Data', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA\byyouecm_ofi.MDF' , SIZE = 5098688KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10%)
           LOG ON 
          ( NAME = N'Webdesk300_Log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA\byyouecm_ofi_1.LDF' , SIZE = 52352KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10%)
          
          -- depois
           ON  PRIMARY 
          ( NAME = N'Fluig_Data', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA\fluig.MDF' , SIZE = 5098688KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10%)
           LOG ON 
          ( NAME = N'Fluig_Log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA\fluig.LDF' , SIZE = 52352KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10%)
          
          -- comando
          -- replaceAll apenas na palavra Webdesk300
        3. Substituir a ocorrência da versão do banco de dados para o valor 110.

          -- antes
          ALTER DATABASE [fluig] SET COMPATIBILITY_LEVEL = 100
          
          -- depois
          ALTER DATABASE [fluig] SET COMPATIBILITY_LEVEL = 110
        4. Substituir a ocorrência do instantâneo de leitura de commit para ON.

          -- antes
          ALTER DATABASE [fluig] SET READ_COMMITTED_SNAPSHOT OFF 
          
          -- depois
          ALTER DATABASE [fluig] SET READ_COMMITTED_SNAPSHOT ON 
        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.

            -- antes
            COLLATE SQL_Latin1_General_CP1_CI_AI
            
            -- depois
            COLLATE Latin1_General_CI_AS
            
            -- comando
            -- replaceAll apenas na palavra SQL_Latin1_General_CP1_CI_AI
      12. Execute o script por inteiro.
      13. Atualize o explorador de objetos do SQL Management Studio.
      14. Deverá aparecer o novo banco fluig.


    • Proceda com a desativação das chaves (constraints) nas tabelas da base de dados fluig. 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) usando o bando de dados TOTVS Fluig Plataforma.



    • 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.

      Atenção!

      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.


    • 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] , suser_sname([owner_sid]) as 'owner'
    FROM [sys].[databases] 
    WHERE [name] LIKE 'fluig%';

    IMPORTANTE

    • Verificar o nome do proprietário (owner) do novo banco criado. Deverá ser o mesmo usuário a ser informado na instalação do Fluig.
    • Verificar o repasse das permissões de acesso aos devidos usuários na nova base de dados. Estas podem ter sido perdidas. 
    • Instalar a versão 1.5.13 (Última EP) do 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.
    • Retornar ao processo de conversão TOTVS ECM 3.00 para TOTVS Fluig Plataforma se for este o caso, ou então, realizar as validações desejadas e uso da nova instalação.