Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Posso utilizzare un file .mdf con più DBMS (SQL Server 2008 e 2012)?

Puoi andare verso l'alto - da una versione precedente a una più recente, ad es. puoi eseguire il backup del tuo database nel 2008 R2 e ripristinare quel backup nell'istanza del 2012, ma NON PUOI allegare/scollegare o eseguire il backup/ripristinare un database da una versione più recente di SQL Server fino a una versione precedente - le strutture dei file interni sono troppo diverse per supportare la compatibilità con le versioni precedenti.

Inoltre:poiché le strutture di file interne del .mdf sono molto diversi e specifici per ciascuna versione di SQL Server, NON essere in grado di utilizzare lo stesso .mdf da due diverse versioni di SQL Server. Sicuramente non funzionerà.

Puoi aggirare questo problema tramite

  • utilizzando la stessa versione di SQL Server su tutte le tue macchine, quindi puoi facilmente eseguire il backup/ripristinare i database tra le istanze

  • in caso contrario è possibile creare gli script del database sia per la struttura (tabelle, viste, stored procedure ecc.) che per i contenuti (i dati effettivi contenuti nelle tabelle) sia in SQL Server Management Studio (Tasks > Generate Scripts ) o utilizzando uno strumento di terze parti

  • oppure puoi utilizzare uno strumento di terze parti come SQL di Red-Gate Confronta e Confronto dati SQL fare "differenze" tra l'origine e la destinazione, generare script di aggiornamento da tali differenze e quindi eseguire quegli script sulla piattaforma di destinazione; questo funziona su diverse versioni di SQL Server.