Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Posso usar um arquivo .mdf com vários DBMSs (SQL Server 2008 e 2012)?


Você pode ir para cima - de uma versão mais antiga para uma mais recente, por ex. você pode fazer backup de seu banco de dados em 2008 R2 e restaurar esse backup em sua instância de 2012 - mas NÃO PODE anexar/desanexar ou fazer backup/restaurar um banco de dados de uma versão mais recente do SQL Server para uma versão mais antiga - as estruturas de arquivos internos são muito diferentes para suportar compatibilidade com versões anteriores.

Além disso:como as estruturas de arquivo internas do .mdf são muito diferentes e específicos para cada versão do SQL Server, você NÃO ser capaz de usar o mesmo .mdf de duas versões diferentes do SQL Server. Isso definitivamente não vai funcionar.

Você pode contornar esse problema

  • usando a mesma versão do SQL Server em todas as suas máquinas - então você pode facilmente fazer backup/restaurar bancos de dados entre instâncias

  • caso contrário, você pode criar os scripts de banco de dados para estrutura (tabelas, exibição, procedimentos armazenados etc.) e para conteúdo (os dados reais contidos nas tabelas) no SQL Server Management Studio (Tasks > Generate Scripts ) ou usando uma ferramenta de terceiros

  • ou você pode usar uma ferramenta de terceiros como o SQL da Red-Gate Comparar e SQL Data Compare fazer "diferenças" entre sua origem e destino, gerar scripts de atualização a partir dessas diferenças e, em seguida, executar esses scripts na plataforma de destino; isso funciona em diferentes versões do SQL Server.