Quais são minhas opções se eu precisar mover um banco de dados do SQL Server 2012 (32 bits) para o SQL Server 2005 (64 bits)?
Eu sei que não posso:
- restaurar um backup do banco de dados no SQL Server 2005
- desanexar e anexar
Eu sei que posso:
- use o assistente de importação de dados, e eu tentei em um banco de dados, mas apenas move dados, e isso foi problemático, pois eu precisava trabalhar bastante criando tabelas temporárias para manter as colunas de identidade, recriando todos os FKs, índices etc.
Existe uma opção mais fácil?
sql-server
migration
downgrade
Greg Balajewicz
fonte
fonte
Respostas:
Você pode seguir qualquer método abaixo:
Nota: Se você estiver usando novos recursos, como novos tipos de dados, etc, precisará testá-lo, pois isso gerará erros.
MÉTODO 1: Usando ferramentas nativas
Faça o script do banco de dados SCHEMA_ONLY e recrie um banco de dados vazio no servidor de destino. Abaixo estão as capturas de tela:
Use BCP OUT e BULK INSERT para inserir dados.
Abaixo está o script que irá ajudá-lo com a Parte 2.
Método 2: usando ferramentas de terceiros
Crie um banco de dados em branco no servidor de destino. Use a comparação de esquema e comparação de dados do Redgate para criar e carregar dados no servidor de destino.
Nota: Eu usei o esquema e a comparação de dados do Redgate e são as melhores ferramentas para esse tipo de tarefa e, portanto, se você estiver usando ferramentas de terceiros, minha recomendação seria Redgate.
fonte
Além dos métodos já sugeridos aqui, você também pode tentar criar um arquivo BACPAC e importá-lo para o seu destino. É semelhante à maneira como a Microsoft recomenda migrar seus bancos de dados do local para os bancos de dados em nuvem do Azure.
O benefício disso é que é uma combinação de esquema de exportação e de dados, e não depende da versão do banco de dados; portanto, você pode teoricamente importar bancos de dados de qualquer versão para qualquer versão.
A desvantagem disso é que, antes de gerar o arquivo BACPAC na origem, ele executa algum tipo de processo de validação rigoroso que pode falhar facilmente se você tiver referências a objetos fora do banco de dados (seja banco de dados de usuário ou sistema) ou se tiver objetos criptografados. Mas se você tiver sorte e não falhar, pode ser uma solução bastante fácil.
Tudo o que você precisa é de uma das versões mais recentes do SSMS (17 ou 18): https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms
Para começar a criar um arquivo BACPAC, clique com o botão direito do mouse em um banco de dados e selecione "Exportar aplicativo da camada de dados ..." (certifique-se de não confundir com "Extrair aplicativo da camada de dados ...", que é algo diferente):
Você verá um assistente simples para guiá-lo pelas etapas. Quando terminar, você pode usar "Importar aplicativo da camada de dados ..." no servidor de destino, o que pode ser visto clicando com o botão direito do mouse no nó "Bancos de dados" (novamente, não se confunda com "Implantar dados aplicação de vários níveis ... "):
Isso também mostrará um assistente simples para guiá-lo pelas etapas.
fonte
Diminuir a versão do Sql Server é um trabalho muito difícil.
Existem algumas opções para diminuir como;
Primeiro, crie todo o script do objeto de banco de dados e execute no servidor de destino.
Depois disso você pode usar;
Mas para a ferramenta RedGate Data Compare ,
fonte
É impossível fazer o downgrade de um banco de dados no SQL Server. No entanto, uma solução alternativa é criar scripts para todos os objetos do banco de dados e aplicar o script no banco de dados de destino. O SSIS é uma ótima maneira de ajudar a fazer isso.
fonte