...
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 |
---|
|
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.
Deck of Cards |
---|
|
Card |
---|
default | true |
---|
id | 1 |
---|
label | Passo 01 |
---|
| Nota |
---|
| 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 |
---|
| - Crie uma nova base de dados com nome fluig e agrupamento(Collate/Collation) Latin1_General_CI_AS.
|
- 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:
- Clique com o botão direito do mouse sobre a base de dados.
- No menu suspenso escolha a opção Tarefas > Gerar Scripts...
- Clique no botão Próximo > para passar a apresentação da Introdução do assistente para Gerar e Publicar Scripts.
- 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 >.
- Na tela seguinte, no grupo Tipo de Saída e no grupo abaixo selecione a opção Salvar na nova janela de consulta.
- Clique no botão Avançado.
- Na tela de Opções de Script Avançadas altere a opção Agrupamento de Scripts para True e clique no botão OK.
- Ao retornar a tela Gerar e Publicar Scripts clique no botão Próximo >.
Na etapa a seguir revise as configurações para geração do script da base. Clique no botão Próximo >. Torne à janela do Microsoft SQL Server Management Studio. Na nova janela aberta com o script, altere as seguintes linhas e proceda com as alterações abaixo citadas: Substituir todas as ocorrências do nome antigo do banco de dados para fluig. (Aproximadamente 39 ocorrências). Bloco de código |
---|
language | sql |
---|
linenumbers | true |
---|
| -- antes
CREATE DATABASE [byyouecm_ofi]
-- depois
CREATE DATABASE [fluig]
-- comando
-- replaceAll apenas na palavra byyouecm_ofi |
Substituir no nome do arquivo .mdf e do arquivo .log para fluig, bem como a label dos arquivos. Bloco de código |
---|
language | sql |
---|
linenumbers | true |
---|
| -- 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 |
Substituir a ocorrência da versão do banco de dados para o valor 110. Bloco de código |
---|
language | sql |
---|
linenumbers | true |
---|
| -- antes
ALTER DATABASE [fluig] SET COMPATIBILITY_LEVEL = 100
-- depois
ALTER DATABASE [fluig] SET COMPATIBILITY_LEVEL = 110 |
Substituir a ocorrência do instantâneo de leitura de commit para ON. Bloco de código |
---|
language | sql |
---|
linenumbers | true |
---|
| -- antes
ALTER DATABASE [fluig] SET READ_COMMITTED_SNAPSHOT OFF
-- depois
ALTER DATABASE [fluig |
| Card |
---|
| - Imediatamente após a criação, sem nenhuma conexão nesta base de dados, execute o comando:
Bloco de código |
---|
| | ALTER DATABASE [nova_base] SET READ_COMMITTED_SNAPSHOT ON |
;- Substituir todas as ocorrências do collation antigo pelo novo Latin1_General_CI_AS. (Aproximadamente 444 ocorrências).
- CI significa Case Insensitive, não diferenciando letras maiúsculas de minusculas em suas queries.
AS significa Accept Signal, diferenciado acentuação nos campos de texto em suas queries. Bloco de código |
---|
language | sql |
---|
linenumbers | true |
---|
| -- 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 |
- Execute o script por inteiro.
- Atualize o explorador de objetos do SQL Management Studio.
- Deverá aparecer o novo banco fluig.
Card |
---|
|
- 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:
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. As configurações de agrupamento de caracteres (Collate/Collation) das bases de dados podem ser consultadas utilizando a instrução:
Bloco de código |
---|
| 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 |
---|
|
| Card |
---|
| - 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:
Clique com o botão direito do mouse sobre a nova base de dados. No menu suspenso selecione a opção Tarefas > Importar Dados... Na tela de apresentação do Assistente de Importação e Exportação do SQL Server clique no botão Avançar >. 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). 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). 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. Selecione ou digite, no campo Banco de dados, a base antiga e clique no botão Avançar >. 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 >. 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 >. 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. Com todos selecionados clique no botão Editar Mapeamentos... 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 |
---|
| Não deixe de marcar esta opção para que não ocorram falhas na cópia dos dados. |
Tornando à janela anterior, Selecionar Tabelas e Exibições de Origem, clique no botão Avançar >. Na tela com título Revisar Mapeamento de Tipo de Dados clique no botão Avançar. Na tela com título Executar Pacote marque a caixa de seleção Executar imediatamente e clique no botão Avançar >. Na tela com título Concluir Assistente, após revisar as ações clique no botão Avançar. 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 |
---|
| - 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 |
---|
| 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 |
---|
| - 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 |
---|
| - 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 |
---|
| - 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 |
---|
| - 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 |
---|
| - 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.
|
|