Árvore de páginas

Versões comparadas

Chave

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

Índice

Índice
outlinetrue
stylenone
exclude.*ndice
stylenone

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.

...

Nota
titleAtençã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 check-list checklist para a conversão do Fluig. 

 

...

Imediatamente após a criação, sem nenhuma conexão nesta base de dados, execute o comando:

Bloco de código
themeEclipse
languagesql
ALTER DATABASE [fluig] SET READ_COMMITTED_SNAPSHOT ON;

...

Bloco de código
themeEclipse
languagesql
SELECT [name] , [is_read_committed_snapshot_on] , [collation_name] 
FROM [sys].[databases] 
WHERE [name] LIKE 'fluig%';

...

Deck of Cards
historyfalse
id1
Card
defaulttrue
id1
labelPasso 01


  • 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

...

    1. opção Tarefas > Gerar Scripts...
    2. Clique no

...

    1. botão Próximo >

...

    1.  para passar a apresentação

...

    1. da Introdução do assistente

...

    1. para Gerar e Publicar Scripts.
    2. Deixe selecionada a opção

...

    1. para Gerar script de todo o banco de dados

...

    1.  e todos os objetos de banco de dados

...

    1.  e clique no botão Próximo >.
    2. Na tela seguinte, no

...

    1. grupo Tipo de Saída

...

    1.  e no grupo

...

    1. abaixo selecione a

...

    1. opção Salvar

...

    1.  na nova janela de consulta.
    2. Clique no

...

    1. botão Avançado.
    2. Na tela

...

    1. de Opções de Script Avançadas

...

    1.  altere a opção Agrupamento de Scripts

...

    1.  para True

...

    1.  e clique no

...

    1. botão OK.
    2. Ao retornar a

...

    1. tela Gerar e Publicar Scripts clique

...

    1. no botão Próximo >.
    2. Na etapa a seguir revise as configurações para geração do script da base. Clique no

...

    1. botão Próximo >.

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

    3. Na nova janela aberta com o script

...

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.

    1. , 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] 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.

          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
    2. Execute o script por inteiro.
    3. Atualize o explorador de objetos do SQL Management Studio.
    4. 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 (

...

  1. menu Arquivo > Novo > Consulta do Mecanismo de Banco de Dados);.

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

...

 

...

usando o bando de dados TOTVS Fluig Plataforma.


Card
id3
labelPasso 03


  • 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

...

  1. opção Tarefas > Importar Dados...

  2. Na tela de apresentação do Assistente de Importação e Exportação do SQL Server clique no

...

  1. botão Avançar >.

  2. No

...

  1. campo Fonte

...

  1.  de dados selecione a

...

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

  2. No

...

  1. campo Nome

...

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

  2. No

...

  1. grupo Autenticação

...

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

...

  1. de db_owner.

  2. Selecione ou digite, no

...

  1. campo Banco de dados, a base antiga e clique no

...

  1. botão Avançar >.

  2. Na tela com título (para) Escolher um Destino

...

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

...

  1. botão Avançar >.

  2. A seguir na tela com

...

  1. título Especificar Cópia

...

  1.  ou Consulta de Tabela

...

  1.  selecione a

...

  1. opção Copiar

...

  1.  dados de uma ou mais tabelas ou exibições e clique no

...

  1. botão Avançar >.

  2. Na tela de

...

  1. título Selecionar Tabelas

...

  1.  e Exibições de Origem, clique na primeira caixa de seleção que está nos títulos da listagem

...

  1. de Tabelas e exibições.

  2. Com todos selecionados clique no

...

  1. botão Editar Mapeamentos...

  2. Na

...

  1. caixa Configurações de

...

  1. Transferência marque a caixa de

...

  1. seleção Habilitar inserção de identidade

...

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

  2. Tornando à janela anterior, Selecionar Tabelas

...

  1.  e Exibições de Origem, clique no

...

  1. botão Avançar >.

  2. Na tela com

...

  1. título Revisar Mapeamento

...

  1.  de Tipo de Dados

...

  1.  clique no

...

  1. botão Avançar.

  2. Na tela com

...

  1. título Executar

...

  1. Pacote marque a caixa de

...

  1. seleção Executar imediatamente

...

  1.  e clique no

...

  1. botão Avançar >.

  2. Na tela com

...

  1. título Concluir Assistente, após revisar as ações clique no

...

  1. botão Avançar.

  2. 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
id4
labelPasso 04
Card
id5
labelPasso 05
  • 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
SELECT [name] , [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
  • Verificar o 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 e data), localizados no caminho <INSTALL_FLUIG>/jboss/standalone.

 

Card
id7
labelPasso 07
  • 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

...

Alterar no arquivo de configuração, localizado no caminho <INSTALL_FLUIG>/jboss/standalone/standalone.xml, a configuração para acesso à base de dados para uso da nova base.

 

...

Reiniciar o serviço.

 

...

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

...

 

...