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 TOTVS ECM.
Imediatamente após a criação, sem nenhuma conexão nesta base de dados, execute o comando:
ALTER DATABASE [ecm_alt] SET READ_COMMITTED_SNAPSHOT ON;
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]
FROM [sys].[databases] WHERE [name] LIKE 'ecm_alt%';
a) Clique com o botão direito do mouse sobre a base de dados.
b) No menu suspenso escolha a opção Tarefas → Gerar Scripts...
c) Clique no botão Próximo > para passar a apresentação da Introdução do assistente para Gerar e Publicar Scripts.
d) 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 >.
e) Na tela seguinte, no grupo Tipo de Saída e no grupo abaixo selecione a opção Salvar na nova janela de consulta.
f) Clique no botão Avançado.
g) Na tela de Opções de Script Avançadas altere a opção Agrupamento de Scripts para True e clique no botão OK.
h) Ao retornar a tela Gerar e Publicar Scripts clique no botão Próximo >.
i) Na etapa a seguir revise as configurações para geração do script da base. Clique no botão Próximo >.
j) Torne à janela do Microsoft SQL Server Management Studio.
k) Na nova janela aberta com o script comente/remova as primeiras linhas, até a instrução USE [ecm].
a) Abra uma janela de Nova Consulta (menu Arquivo > Novo > Consulta do Mecanismo de Banco de Dados);
b) 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
c) Copie o resultado e cole em uma janela de Nova Consulta e execute (na nova base de dados).
a) Clique com o botão direito do mouse sobre a nova base de dados.
b) No menu suspenso selecione a opção Tarefas > Importar Dados...
c) Na tela de apresentação do Assistente de Importação e Exportação do SQL Server clique no botão Avançar >.
d) 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).
e) 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).
f) 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.
g) Selecione ou digite, no campo Banco de dados, a base antiga e clique no botão Avançar >.
h) 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 >.
i) 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 >.
j) 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.
k) Com todos selecionados clique no botão Editar Mapeamentos...
l) 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.
Attention!
Não deixe de marcar esta opção para que não ocorram falhas na cópia dos dados.
m) Tornando à janela anterior, Selecionar Tabelas e Exibições de Origem, clique no botão Avançar >.
n) Na tela com título Revisar Mapeamento de Tipo de Dados clique no botão Avançar.
o) Na tela com título Executar Pacote marque a caixa de seleção Executar imediatamente e clique no botão Avançar >.
p. Na tela com título Concluir Assistente, após revisar as ações clique no botão Avançar.
q) 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.