9

Sono state apportate modifiche in quest'area con SQL Server 2014? Ho visto questo post Is it possible to restore Sql Server 2008 backup in sql server 2005 e so che questo non era possibile come scenario per il 2012 -> 2008 ma mi chiedo se MS abbia apportato modifiche qui con la versione 2014.Come ripristinare il backup di SQL Server 2014 in SQL Server 2008

Stiamo valutando la versione 2014 e abbiamo un database abbastanza grande in fase di test. Vogliamo ripristinare un backup di quel database su SQL Server 2008 perché questa macchina fisica ha più spazio, RAM, ...

Ricevo un messaggio di errore standard quando provo a ripristinare il backup, ma mi chiedevo se ci fosse qualcos'altro in SQL Server 2014 che potrei mancare.

+1

Non è mai possibile tornare indietro con i backup in questo modo - vedere questa domanda correlata: http://stackoverflow.com/questions/545316/ – Bridge

+0

Non c'è un'opzione .. – bgs

+1

Quindi, quando stavano scrivendo il codice per il prodotto 2008, dovevano già essere a conoscenza (perfettamente) dei cambiamenti nella struttura del database che si sarebbero verificati in mezzo decennio e scrivere codice occuparsi di una tale struttura? –

risposta

17

Non proprio per quanto ne so, ma qui ci sono alcune cose da provare.

Strumenti di terzi: creare un database vuoto nell'istanza 2008 e utilizzare strumenti di terze parti come ApexSQL Diff e Data Diff per sincronizzare schema e tabelle.

Basta usare questi (o qualsiasi altro sul mercato come Red Gate, Idera, Dev Art, ce ne sono molti simili) in modalità di prova per portare a termine il lavoro.

Genera script: Vai a Attività -> Genera script, seleziona l'opzione per scrivere anche i dati ed esegui l'istanza 2008. Funziona bene, ma nota che l'ordine degli script è qualcosa su cui devi stare attento. Per impostazione predefinita, gli script non sono ordinati per prendere in considerazione le dipendenze.

+0

Questi strumenti non supportano SQL Server 2014 :( – msavara

+1

È possibile utilizzare Generate Scripts da Sql Server 2014. Assicurarsi di rivedere/modificare lo script con attenzione. L'ho appena fatto e ho dovuto modificare il percorso in cui i dati e i file di registro sono creati e rimuovono la creazione di utenti (che avrei potuto sopprimere come opzione durante la generazione dello script) –

36

No, non è possibile. Stack Overflow vuole che risponda con una risposta più lunga, quindi dirò di nuovo no.

Documentazione: https://docs.microsoft.com/en-us/sql/t-sql/statements/backup-transact-sql#compatibility

I backup che vengono creati dalla versione più recente di SQL Server non può essere ripristinato nelle versioni precedenti di SQL Server.

+0

sarebbe meglio se condividi qualche link alla documentazione MS – Adeem

+6

Le società di software raramente offrono documentazione su funzionalità che non sono offerte dai prodotti che producono. –

+1

"Stack Overflow vuole che risponda con una risposta più lunga, quindi dirò di nuovo no." ;) –

2

Si tratta di un post piuttosto vecchio, ma ho dovuto farlo oggi. Ho appena fatto clic con il pulsante destro del mouse su SQL2014 e selezionato l'opzione Esporta dati e questo mi ha aiutato a spostare i dati su SQL2012.

+0

Questo copia solo i dati da viste e tabelle, va bene se è tutto ciò che vuoi, ma non è la stessa cosa del ripristino un database con schema, stored proc, ecc. –

+0

Utilizzare Attività> Genera script per esportare un database con schema, processi memorizzati, ecc. –

0

Se si dispone di entrambe le versioni, è possibile creare una replica di unione da nuova a vecchia. Creare una pubblicazione di tipo merge sul server SQL più recente e una sottoscrizione nella versione precedente. Dopo aver inizializzato l'abbonamento è possibile creare un backup del database con la stessa struttura e lo stesso contenuto ma in una versione precedente e ripristinarlo sul vecchio server di destinazione. È possibile utilizzare questo metodo anche con sql server 2016 per target 2014, 2012 o 2008.

Problemi correlati