Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

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.

Quando fazer a migração e conversão do collation?

...

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

...

Nota
titleAtenção!

No caso do TOTVS | ECM, o collation precisa ser ajustado antes de executar o procedimento do guia de Conversão TOTVS ECM para fluig.

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 registros campos existentes nas tabelas permanecem incorretos, podendo assim, causar comportamentos inesperados na utilização da plataforma.

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


Acompanhe a seguir o check-list checklist para a conversão da sua base de dados.

  • Crie uma nova base de dados com nome fluig e  agrupamento(Collate/Collation) Latin1_General_CI_AS.
ALTER DATABASE [nova_base
Deck of Cards
historyfalse
id1
Card
defaulttrue
id1
labelPasso 01
Nota
titleIMPORTANTE

Caso o banco utilizado seja MS SQLSERVER 2014 ou uma versão superior, deve-se efetuar a configuração do dialeto SQLServer2008Dialect , conforme descrito na página informada, durante a instalação do fluig 1.5.13 (última EP).

Card
id2
labelPasso 02


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

        Bloco de código
        languagesql
        linenumberstrue
        -- 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.

        Bloco de código
        languagesql
        linenumberstrue
        -- 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.

        Bloco de código
        languagesql
        linenumberstrue
        -- 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.

        Bloco de código
        languagesql
        linenumberstrue
        -- antes
        ALTER DATABASE [fluig] SET READ_COMMITTED_SNAPSHOT OFF 
        
        -- depois
        ALTER DATABASE [fluig
Card
id3
labelPasso 03
  • Imediatamente após a criação, sem nenhuma conexão nesta base de dados, execute o comando:
Bloco de código
languagesql
themeEclipse
] SET READ_COMMITTED_SNAPSHOT ON
;
      1.  
      2. 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.

          Bloco de código
          languagesql
          linenumberstrue
          -- 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
    1. Execute o script por inteiro.
    2. Atualize o explorador de objetos do SQL Management Studio.
    3. Deverá aparecer o novo banco fluig.
Card
id2
labelPasso 02


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

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


Bloco de código
languagesql
themeEclipse
DECLARE @TABLENAME VARCHAR(8000) 
DECLARE @TABLENAME_HEADER VARCHAR(8000) 
DECLARE TNAMES_CURSOR CURSOR FOR 
 
SELECT [name] , [is_read_committed_snapshot_on] , [collation_name] 
FROM [sys].[databases] 
WHERE [name] LIKE 'nova_base%';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.


Card
id3
labelPasso 03


  • Realize
Card
id4
labelPasso 04
  • Com o serviço do TOTVS ECM ou 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.

    Nota
    titleAtençã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.


Card
id54
labelPasso 0504
Card
id5
labelPasso 05
  • As configurações de agrupamento de caracteres (Collate/Collation) das bases de dados podem ser consultadas utilizando a instrução:
  • 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:
  • Abra uma janela de Nova Consulta (menu Arquivo > Novo > Consulta do Mecanismo de Banco de Dados);.

  • Insira a consulta abaixo e a execute na nova base de dados.
    Bloco de código
    languagesql
    themeEclipse
    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)
    is_read_committed_snapshot_on] , [collation_name] , suser_sname([owner_sid]) as 'owner'
    FROM [sys].[databases] 
    WHERE [name] LIKE 'fluig%';
    Aviso
    titleIMPORTANTE
    • 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.
    Card
    id6
    labelPasso 06
    • Realizar Verificar o procedimento de repasse das permissões de acesso aos devidos usuários na nova base de dados. Estas podem ter sido perdidas. 
    Card
    id7
    labelPasso 07
    • Continuar com o processo de instalação do fluig Instalar a versão 1.5.13 (Última EP) do Fluig e configurar para apontar para esta base de dados (fluig).
    Card
    id8
    labelPasso 08
    • 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.
    Card
    id9
    labelPasso 09
    • 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.