I file di database creati utilizzando SQL 2008 non sono compatibili con il 2005. Esistono soluzioni?
I file di database creati utilizzando SQL 2008 non sono compatibili con il 2005. Esistono soluzioni?
Risposte:
Non sono necessari strumenti di terze parti. SQL Server 2008 Management Studio ci ha fornito uno strumento molto potente per convertire verso il basso un database perché hanno aggiunto un'opzione "Dati script" alla procedura guidata "Database script".
Fai clic con il pulsante destro del mouse sul DB in SQL2008 SSMS e vai su Attività, quindi "Genera script"
Segui la procedura guidata, assicurati di scegliere "Vero" per "Dati script" sotto le opzioni tabella / vista. Scegli tutti gli oggetti, quindi esegui lo script che crea sul server 2005. (Tieni presente che lo script creato potrebbe essere enorme se il database originale è molto grande!)
Nota che puoi persino eseguire la procedura guidata su un server SQL2005 per convertire un database SQL2005 in SQL2000 (ovviamente, avrai bisogno degli strumenti 2008 installati sulla tua workstation).
È possibile BCP i dati da un'istanza di SQL Server a un'altra istanza. Sarebbe il modo più veloce per copiare i dati da una versione all'altra. A seconda del volume di dati, potrebbe richiedere molto tempo.
Sfortunatamente non esiste un modo diretto per il downgrade di un DB dal formato 2008 a quello del 2005.
Il modo in cui l'ho fatto in passato (in realtà con versioni precedenti di SQL Server, ma il processo sarà lo stesso) è:
INSERT destinationserver.destinationdb.schema.table SELECT * FROM sourcedb.schema.table
INSERT schema.table SELECT * FROM sourceserver.sourcedb.schema.table
se hai collegato le istanze in questo modo ) Potrebbe essere più efficiente copiare prima i dati e aggiungere tutte le altre strutture (indici, processi, trigger, ...) dopo il passaggio 3. In questo modo si evitano i problemi di ordinamento dell'inserimento di righe causati da vincoli e trigger e la creazione di indici end dovrebbe in teoria essere più veloce della loro creazione poiché tutti i dati vengono aggiunti, anche se se si dispone di indici cluster sulle tabelle, crearli prima di aggiungere i dati poiché non sarebbero più veloci da creare dopo il fatto.
Ovviamente tutto ciò presuppone che nessuno dei tuoi oggetti utilizzi funzionalità specifiche di SQL 2008 - se lo fanno, spero che scoprirai e risolverai tali cose quando si verificano errori durante la ricostruzione dello schema. Se uno qualsiasi dei tuoi codici si basa su un comportamento ufficialmente indefinito che sembra essere variato tra le versioni di SQL Server, potresti avere alcuni bug molto più sottili ed elusivi da cercare e risolvere in seguito.
Ho affrontato una situazione simile e ho utilizzato la Pubblicazione guidata database per eseguire lo script dello schema e dei dati per SQL Server 2005 dal database SQL Server 2008.