Migrando dados do SQL Server 2005 para 2016


9

Eu sou novo na administração do SQL Server, no entanto, me sinto confortável com a linguagem SQL e criando pacotes SSIS.

Desejo migrar dados do SQL Server 2005 para 2016.

Minha pergunta é: preciso me preocupar com os bancos de dados do sistema e outros objetos, como índices, procedimentos armazenados, exibição, segurança e permissões. logins ou posso apenas migrar dados.

Qual seria o procedimento recomendado neste caso.


Você está tentando atualizar uma instância de produção ? ou seja, você precisa dos mesmos logins, índices, procs armazenados, etc? Como é, sua pergunta é realmente bastante ampla. Faça o tour e leia o centro de ajuda sobre como fazer boas perguntas. Obrigado!
Max Vernon

Respostas:


7

Max deu uma resposta decente que eu votarei assim que terminar de digitar essa visualização alternativa.

Não sou fã de restaurar bancos de dados do sistema ao fazer uma migração de atualização e prefiro fazer migrações em vez de atualizações no local, como discuti nesta longa resposta a outra pergunta.

Basicamente, eu gosto de começar do zero quando faço uma migração. Acho que jogar com migrações e atualizações do banco de dados do sistema por meio da restauração às vezes causa frustrações com as restaurações e pode levar a possíveis pecados.

Você também perguntou sobre índices, procedimentos armazenados, visualizações. Todos os itens no nível do banco de dados devem estar dentro de um banco de dados do usuário. Portanto, quando você restaurar o banco de dados X para o novo servidor, todos os objetos do banco de dados (tabelas, usuários, visualizações, procs, funções etc.) também estarão lá.

O que existe nos bancos de dados do sistema são trabalhos, logins, alertas, servidores vinculados, chaves de criptografia, etc. Itens no nível da instância.

Gosto de revisá-las e migrar sobre o que preciso usando vários scripts - ultimamente, os scripts do PowerShell DBATools.Io . Eu gosto de usar o script deles para copiar logins sql especialmente, porque ele lida com os usuários autenticados do SQL, mantendo suas senhas e identificadores de segurança iguais para que os usuários do banco de dados desses logins funcionem. Eles também têm um comando de migração completo do SQL Server, que executa seus subcomandos para copiar os itens sobre os quais eu normalmente copiaria.

Eu não acredito que Max esteja errado com essa resposta, portanto, o voto positivo. Acabei de ter mais sucesso e mais sorte e me sinto mais confortável migrando para o novo, em vez de tentar restaurar os bancos de dados do sistema entre versões. Eu diria que honestamente não me lembro da última vez que fiz uma migração de atualização de versão e não fiz dessa maneira em vez de restaurar os bancos de dados do sistema.


Obrigado pela sua resposta. Não quero atualizar de 2005 para 2016. Quero migrar um banco de dados de uma instância que não é mais usada no sql server 2005 para uma instância existente em 2016. Essa migração ainda não foi aprovada, mas quero me preparar quando faz. Basicamente, eu recebi esse projeto porque sou o único que tem alguma experiência em SQL na consulta e criação de pacotes SSIS. Eu também estava preocupado com problemas de compatibilidade. Mais uma vez obrigado.
Robert

Claro - mas ao passar de 2005 para 2016 - você está fazendo uma atualização. Você está fazendo uma atualização e uma migração. Porque você está levando um banco de dados de uma versão do SQL para outra - isso implica em atualização, com certeza. Você deve executar o consultor de atualização no seu banco de dados.
Mike Walsh

E se o SQL Server 2005 estiver hospedado no Windows Server 2003 R2 x86 e o ​​SQL Server 2016 estiver em um sistema operacional mais recente.
Robert

@ MikeWalsh Concordo com quase tudo o que você descreveu em sua resposta. Eu também acompanhar quase tudo ao fazer SQL Upgrade / Migration
nam

4

Você gostaria de considerar a migração dos bancos de dados do sistema (mestre, msdb e talvez modelo), se precisar acessar os metadados armazenados nesses bancos de dados.

O mestre armazena itens como logins, certificados de segurança etc.

O msdb contém detalhes sobre backups e armazena configurações de trabalho do SQL Server Agent, entre outros detalhes.

O modelo pode ter sido personalizado por você ou sua equipe para permitir que os bancos de dados em branco recém-criados contenham um conjunto de objetos predefinidos usados ​​em todos os bancos de dados.

A migração dos bancos de dados do sistema pode ser realizada com bastante facilidade; instruções detalhadas estão disponíveis no MSDN em Backup e restauração de bancos de dados do sistema (SQL Server) .

Dependendo dos seus requisitos, você pode executar uma BACKUP DATABASEoperação nos bancos de dados do usuário na instância de 2005 e, RESTORE DATABASEem seguida, na instância de 2016 para trazer o banco de dados inteiro, incluindo todos os dados, índices e outros objetos.

Isso exigirá, pelo menos inicialmente, a mesma quantidade de espaço consumida pelo banco de dados na instância de 2005. No entanto, depois de restaurar o banco de dados, você poderá aproveitar a compactação de dados para reduzir substancialmente a área ocupada.

Consulte Sobre o trabalho com backups do SQL Server para obter detalhes sobre como executar backups e Sobre cenários de restauração para obter detalhes sobre restaurações.


2

É para 2012 ou 2016? Faz a diferença nisso, o IIRC 2012 é um caminho de migração testado, enquanto 2016 não é. Assim, os problemas conhecidos são documentados e / ou serão detectados pelo Upgrade Advisor para 2012. Um caminho não testado ainda pode funcionar sem problemas, é apenas desconhecido. Dito isto, recomendo fortemente que você vá para 2016. Suspeito que o esforço será quase o mesmo.

Consulte Você está atualizando do SQL Server 2005? na documentação das opções de atualização de 2005 e links para um processo de atualização muito detalhado. O processo de atualização foi escrito para 2014, mas ainda é aplicável para 2016.


11
É 2016. Desculpe por isso
Robert
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.