Ripristino di un backup su una versione precedente di SQL Server


29

Durante il tentativo di ripristinare un backup in un database di SQL Server Express 2008 ho riscontrato il seguente errore:

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)

Esiste un modo per ottenere un backup compatibile con la versione precedente (nel mio caso 10.00.2531) dalla versione più recente (nel mio caso 10.50.1600) di SQL Server Express?

Risposte:


19

Avresti dovuto usare le procedure guidate di importazione / esportazione in SSMS per migrare tutto

Non v'è alcun "downgrade" possibile backup utilizzando / restore o staccare / attaccare


8

È possibile utilizzare la procedura guidata di importazione / esportazione per spostare i dati tra i database.

Fare clic con il tasto destro sul database che si desidera esportare, selezionare "Attività", quindi "Esporta dati". La procedura guidata ti guiderà attraverso il processo.

Hai ragione, però. Non sarà possibile eseguire un backup / ripristino passando da SQL Server 2008 R2 a SQL Server 2008 Express.


6

L'unico modo è creare un nuovo database sulla versione 10.00.2531 e importare i dati dal 10.50.1600.

Non è possibile ripristinare fino a una versione precedente.


6

Il backup di SQL Server non supporta la compatibilità con le versioni precedenti

Passaggi per ottenere DB su versioni precedenti -

  • Per Schema: fare clic con il tasto destro del mouse sul database -> Attività -> generare script -> successivo -> successivo -> fare clic sul pulsante avanzato -> modificare l'opzione "tipo di dati in script" in "schema" - -> ok -> successivo -> successivo

  • Per i dati: fare clic con il tasto destro del mouse sul database -> Attività -> generare script -> successivo -> successivo -> fare clic sul pulsante avanzato -> modificare l'opzione "tipo di dati in script" in "dati" - -> ok -> successivo -> successivo


Un problema con questo metodo è che i database di grandi dimensioni (molte tabelle e dati enormi) che eseguono script per il ripristino richiedono molto tempo. ma è pratico e facile
Iman,

2

tasto destro del mouse sul database -> Attività -> genera script -> successivo -> successivo -> fai clic sul pulsante avanzato -> modifica l'opzione "tipo di dati in script" in "schema e dati" - > ok -> next -> next quindi ora hai uno script che crea il database e la sua tabella e riempie i dati in esso :);)


2
A seconda della quantità di dati, quella sceneggiatura potrebbe essere enorme ...
Thomas Rushton,

1
@ThomasRushton Questo script per definizione sarà più grande del database stesso, probabilmente almeno il doppio se non peggio! Spero non sia un database da 50 GB ...
ErikE l'

Questa è una risposta duplicata
Burgi,

questa non è una risposta duplicata, è un'ottima risposta al tipo di dati è "schema AND data"! ;-) che è quello di cui avevo bisogno!
juFo

1
@Burgi questa risposta è più antica di quella di Dsingh. Ha semplicemente copiato quello di Sarah e ha aggiunto 2 opzioni, 1 per lo schema e l'altra per i dati. Il suo è il duplicato.
basher
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.