Du kan gå uppåt - från en äldre version till en nyare, t.ex. du kan säkerhetskopiera din databas i 2008 R2 och återställa den säkerhetskopian i din 2012-instans - men du KAN INTE bifoga/koppla bort eller säkerhetskopiera/återställa en databas från en nyare version av SQL Server ner till en äldre version - de interna filstrukturerna är alldeles för olika för att stödja bakåtkompatibilitet.
Dessutom:eftersom de interna filstrukturerna för .mdf
är väldigt olika och specifika för varje version av SQL Server, du kommer INTE kunna använda samma .mdf
från två olika SQL Server-versioner. Det kommer definitivt inte att fungera.
Du kan antingen komma runt problemet genom att
-
använder samma version av SQL Server på alla dina maskiner - då kan du enkelt säkerhetskopiera/återställa databaser mellan instanser
-
annars kan du skapa databasskripten för både struktur (tabeller, vy, lagrade procedurer etc.) och för innehåll (den faktiska data som finns i tabellerna) antingen i SQL Server Management Studio (
Tasks > Generate Scripts
) eller med hjälp av ett tredjepartsverktyg -
eller så kan du använda ett tredjepartsverktyg som Red-Gates SQL Jämför och SQL Data Compare att göra "diffing" mellan din källa och mål, generera uppdateringsskript från dessa skillnader och kör sedan dessa skript på målplattformen; detta fungerar över olika SQL Server-versioner.