Ho un database su un'istanza di SQL Sever 2012 che vorrei copiare su un server 2008. Il server 2008 non può ripristinare i backup creati da un server 2012 (ho provato).
Non riesco a trovare alcuna opzione nel 2012 per creare un backup compatibile del 2008. Mi sto perdendo qualcosa?
Esiste un modo semplice per esportare lo schema e i dati in un formato indipendente dalla versione che posso quindi importare nel 2008?
Il database non utilizza alcuna funzionalità specifica del 2012. Contiene tabelle, dati e procedure memorizzate.
Ecco cosa ho provato finora
Ho provato Attività → Genera script sul server 2012 e sono stato in grado di generare lo schema (comprese le stored procedure) come script SQL. Tuttavia, ciò non includeva nessuno dei dati.
Dopo aver creato quello schema sulla mia macchina del 2008, sono stato in grado di aprire la procedura guidata "Esporta dati" sulla macchina del 2012 e dopo aver configurato il 2012 come macchina di origine e il 2008 come macchina di destinazione, mi è stato presentato un elenco di tabelle che ho potrebbe copiare. Ho selezionato tutte le mie tabelle (oltre 300) e ho fatto clic sulla procedura guidata. Sfortunatamente impiega anni a generare i suoi script, quindi fallisce con errori come "Errore nell'inserimento nella colonna di sola lettura 'FOO_ID'".
Ho anche provato la "Procedura guidata per la copia del database", che sosteneva di essere in grado di copiare "dal 2000 o successivamente al 2005 o successivo". Ha due modalità:
"Stacca e collega", che ha avuto esito negativo con errore:
Message: Index was outside the bounds of the array. StackTrace: at Microsoft.SqlServer.Management.Smo.PropertyBag.SetValue(Int32 index, Object value) ... at Microsoft.SqlServer.Management.Smo.DataFile.get_FileName()
Metodo dell'oggetto di gestione SQL non riuscito con errore
Impossibile leggere la proprietà IsFileStream. Questa proprietà non è disponibile su SQL Server 7.0. "