none
Ripristino database da file .bak sql server 2008 su sql server 2012 RRS feed

  • Domanda

  • Ciao a tutti,

    ho bisogno del vostro preziosissimo aiuto... Ho la necessità di ripristinare un db su sql server 2012. Fin quì nulla di strano, ma il problema è che il file .BAK è stato creato da una versione sql server 2008. Per tale motivo utilizzando la funzione "Ripristina" di SQL Server Management mi viene generato il seguente errore

    Impossibile ripristinare il database 'BetonWinSQL'. (Microsoft.SqlServer.Management.RelationalEngineTasks)
    System.Data.SqlClient.SqlError: Il backup del database è stato eseguito in un server che esegue la versione 8.00.0760. Questa versione non è compatibile con questo server che esegue la versione 12.00.2000. Ripristinare il database in un server che supporta il backup oppure utilizzare un backup compatibile con questo server. (Microsoft.SqlServer.SmoExtended)

    Come posso fare per ripristinarlo?

    Grazie mille.

    Saluti Tony ;)

    venerdì 15 aprile 2016 10:19

Risposte

  • Ciao,

    come dice giustamente Fre1976 tu stai cercando di fare restore da 2000 a 2012, cosa non consentita (al massimo la "distanza" è di due major release). A prescindere dal fatto che non capisco perchè tu non possa seguire la strada dell'installazione di un SQL Express 2008 anche sulla tua macchina per poi ricreare un bak valido.. direi che non vedo altre ulteriori soluzioni, eccetto:

    • trovare una persona che abbia SQL 2000 (o, se questo puoi farlo, anche tu) e poi generare degli script da pubblicare, indipendenti dalla versione
    • trovare una persona che abbia un SQL 2008 in QUALUNQUE versione, per fare quello che tu non puoi fare

    Ovviamente, la prima soluzione non ti garantisce che girerà tutto con successo, vista l'eccessiva distanza tra le versioni. Comunque, a mio avviso, installarsi in locale (o in una macchina di test) un SQL Express 2008 e fare restore di quel back per ricrearne uno nuovo, lo vedo veramente fattibile e semplice. Ma se proprio non puoi farlo tu, forse trovi qualcuno che lo fa per te (come indicato nei punti sopra) sempre che tu possa almeno seguire questa strada.

    Col bak e basta non ci fai nulla, se non fai ponte su una versione intermedia, rimane un file.


    Alessandro Alpi - Data Platfomr MVP - CTO & Co-Founder Engage IT Services S.r.l.

    venerdì 15 aprile 2016 21:32
    Moderatore

Tutte le risposte

  • ti conviene fare il restore del backup utilizzando una versione express di sql server 2008, poi fare il detach del db e andare a fare l'attach nell'istanza di sql server 2012.

    ciao.


    Edoardo Benussi
    Microsoft MVP - Enterprise Mobility
    edo[at]mvps[dot]org


    venerdì 15 aprile 2016 10:44
    Moderatore
  • La versione 8.00.0760 dovrebbe essere un SQLServer 2000. Forse converrebbe fare un restore prima su un sqlexpress 2008. Verficare che sia tutto ok, farne quindi il backup e ripristinarlo su 2012.

    cfr: http://stackoverflow.com/questions/15788624/restore-a-sql-server-2000-backup-on-sql-server-2012

    Ciao

    venerdì 15 aprile 2016 11:01
  • Purtroppo non ho questa scelta... mi hanno dato solo .BAK nient'altro....
    venerdì 15 aprile 2016 13:07
  • Ciao,

    come dice giustamente Fre1976 tu stai cercando di fare restore da 2000 a 2012, cosa non consentita (al massimo la "distanza" è di due major release). A prescindere dal fatto che non capisco perchè tu non possa seguire la strada dell'installazione di un SQL Express 2008 anche sulla tua macchina per poi ricreare un bak valido.. direi che non vedo altre ulteriori soluzioni, eccetto:

    • trovare una persona che abbia SQL 2000 (o, se questo puoi farlo, anche tu) e poi generare degli script da pubblicare, indipendenti dalla versione
    • trovare una persona che abbia un SQL 2008 in QUALUNQUE versione, per fare quello che tu non puoi fare

    Ovviamente, la prima soluzione non ti garantisce che girerà tutto con successo, vista l'eccessiva distanza tra le versioni. Comunque, a mio avviso, installarsi in locale (o in una macchina di test) un SQL Express 2008 e fare restore di quel back per ricrearne uno nuovo, lo vedo veramente fattibile e semplice. Ma se proprio non puoi farlo tu, forse trovi qualcuno che lo fa per te (come indicato nei punti sopra) sempre che tu possa almeno seguire questa strada.

    Col bak e basta non ci fai nulla, se non fai ponte su una versione intermedia, rimane un file.


    Alessandro Alpi - Data Platfomr MVP - CTO & Co-Founder Engage IT Services S.r.l.

    venerdì 15 aprile 2016 21:32
    Moderatore