Restaurando um backup para uma versão mais antiga do SQL Server

29

Ao tentar restaurar um backup em um banco de dados do SQL Server Express 2008 , recebi o seguinte erro:

Restore failed for Server '...\SQLEXPRESS'.  (Microsoft.SqlServer.SmoExtended)
System.Data.SqlClient.SqlError: The database was backed up on a server running version
10.50.1600. 
That version is incompatible with this server, which is running version 10.00.2531. 
Either restore the database on a server that supports the backup, or use a backup 
that is compatible with this server. (Microsoft.SqlServer.Smo)

Existe uma maneira de obter um backup compatível com a versão mais antiga (no meu caso, 10.00.2531) da versão mais recente (no meu caso, 10.50.1600) do SQL Server Express?

rem
fonte

Respostas:

19

Você usaria os assistentes de Importação / Exportação no SSMS para migrar tudo

Não "downgrade" possível usando backup / restauração ou desanexar / anexar

gbn
fonte
8

Você pode usar o assistente Importar / Exportar para mover dados entre bancos de dados.

Clique com o botão direito do mouse no banco de dados que deseja exportar, escolha "Tarefas" e depois "Exportar Dados". O assistente o guiará pelo processo.

Você está certo, no entanto. Você não poderá fazer um backup / restauração passando do SQL Server 2008 R2 para o SQL Server 2008 Express.

Richard
fonte
6

A única maneira é criar um novo banco de dados na versão 10.00.2531 e importar os dados de 10.50.1600.

Você não pode restaurar para uma versão mais antiga.

SQLRockstar
fonte
6

O backup do SQL Server não suporta compatibilidade com versões anteriores

Etapas para obter o DB em versões mais antigas -

  • Para Esquema: clique com o botão direito do mouse em seu banco de dados -> Tarefas -> gere scripts -> próximo -> próximo -> clique no botão avançado -> altere a opção "tipo de dados para script" para "esquema" - -> ok -> próximo -> próximo

  • Para Dados: clique com o botão direito do mouse em seu banco de dados -> Tarefas -> gere scripts -> próximo -> próximo -> clique no botão avançado -> altere a opção "tipo de dados para script" para "dados" - -> ok -> próximo -> próximo

dsingh
fonte
Um problema com esse método é que grandes bancos de dados (muitas tabelas e grandes dados) executando scripts para restaurar levam muito tempo. mas é acessível e fácil
Iman
2

clique com o botão direito do mouse em seu banco de dados -> Tarefas -> gerar scripts -> próximo -> próximo -> clique no botão avançado -> altere a opção "tipo de dados para script" para "esquema e dados" - > ok -> next -> next então agora você tem um script que cria o banco de dados e sua tabela e preenche os dados nele :);)

Sarah
fonte
2
Dependendo da quantidade de dados, esse script pode ser enorme ...
Thomas Rushton
1
@ThomasRushton Esse script, por definição, será maior que o próprio banco de dados, provavelmente pelo menos o dobro, se não pior! Espero que não seja um banco de dados de 50 GB ...
ErikE 11/10
Esta é uma resposta duplicada
Burgi 02/09
esta não é uma resposta duplicada, é uma ótima resposta no tipo de dados que é "esquema E dados"! ;-) que é o que eu precisava!
juFo 8/0317
1
@Burgi, esta resposta é mais antiga que a de Dsingh. Ele simplesmente copiou o de Sarah e adicionou 2 opções, uma para esquema e outra para dados. O dele é o duplicado.
basher