Índice
Índice |
---|
outline | true | style | none |
---|
exclude | .*ndice |
---|
style | none |
---|
|
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
...
Nota |
---|
|
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 |
---|
|
ALTER DATABASE [fluig] SET READ_COMMITTED_SNAPSHOT ON; |
...
Bloco de código |
---|
|
SELECT [name] , [is_read_committed_snapshot_on] , [collation_name]
FROM [sys].[databases]
WHERE [name] LIKE 'fluig%'; |
...
Deck of Cards |
---|
|
Card |
---|
default | true |
---|
id | 1 |
---|
label | Passo 01 |
---|
| - Gere um DUMP desta base de dados do TOTVS ECM 3.00, com toda estrutura de tabelas
|
|
...
...
- 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
|
|
...
...
- 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
|
|
...
...
...
...
...
- na nova janela de consulta.
- Clique no
|
|
...
...
- de Opções de Script Avançadas
|
|
...
- altere a opção Agrupamento de Scripts
|
|
...
...
...
...
- 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] SET READ_COMMITTED_SNAPSHOT ON |
Substituir todas as ocorrências do collation antigo pelo novo Latin1_General_CI_AS. (Aproximadamente 444 ocorrências). Nota |
---|
| Independentemente da collation que a base ECM tenha, é necessário converter para 'Latin1_General_CI_AS', pois é o que o TOTVS Fluig espera como padrão, conforme descrito na documentação Configuração do banco de dados SQL Server. |
- CI significa Case Insensitive, não diferenciando letras maiúsculas de minúsculas 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.
|
|
...
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 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.
|
|
...
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 |
---|
| - Exclua o índice CENTRAL_TC que fica na tabela TAR_CTRAL. Para excluir o índice pelo SQL Studio:
- Abra o SQL Server Management Studio (SSMS).
- Conecte-se ao servidor de banco de dados.
- No painel do Object Explorer, localize a base de dados onde a tabela está armazenada.
- Expanda a base de dados e navegue até a tabela chamada
|
|
...
- TAL_CTRAL.
- Clique com o botão direito na tabela TAL_CTRAL e selecione a opção Indexes.
- A lista de índices associados à tabela será exibida.
- Identifique o índice CENTRAL_TC.
- Clique com o botão direito sobre o índice selecionado e escolha a opção Delete.
- Confirme a exclusão para apagar o índice atrelado à tabela.
- 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
|
|
...
...
...
...
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
|
|
...
...
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
|
|
...
...
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
|
|
...
...
...
...
...
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
|
|
...
...
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. |
|
|
...
Retornando à janela anterior, Selecionar Tabelas
|
|
...
e Exibições de Origem, clique no
|
|
...
botão Avançar >. Na tela com
|
|
...
título Revisar Mapeamento
|
|
...
...
...
botão Avançar. Na tela com
|
|
...
...
...
seleção Executar imediatamente
|
|
...
...
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. Execute o script para habilitar as constraints que foram desativadas no Passo 02 alterando de NOCHECK para CHECK.
|
Card |
---|
| - As configurações de agrupamento de caracteres (Collate/Collation) das bases de dados podem ser consultadas utilizando a instrução:
Bloco de código |
---|
| SELECT [name] , [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 |
---|
| - 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 |
---|
| - 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
|
|
...
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.
|
|
...
...