Migrazione da SQL Server 2000 a SQL Server 2012

image

In questi giorni mi sono occupando di una migrazione di SQL Server dalla versione 2000 alla 2012 e in questo post raccoglierò alcune considerazioni e problematiche da tenere presente per eseguire il cambio di versione in modo da causare il minimo disagio.

  1. Non è possibile collegare un database SQL Server 2000 o ripristinare un backup eseguito in SQL Server 2000 in  in SQL Server 2012. Occorre infatti prima ripristinare il backup o connettere il database su un SQL Server 2005 o SQL Server 2008 o SQL Server 2008 R2 e quindi portare il livello di compatibilità a 90 (SQL Server 2005) o 100 (SQL Server 2008\SQL Server 2008 R2) dopodiché sarà possibile eseguire un backup e ripristinarlo su SQL Server 2012.
    Se il database è di dimensioni inferiori a 10 GB è possibile utilizzare la versione Express di SQL Server 2008 R2 per eseguire la conversione del database (SQL Server 2008 R2 Express Database Size Limit Increased to 10GB).
  2. Una volta connesso un database su una versione successiva di SQL Server non è più possibile connetterlo su una versione precedente, così come non è possibile ripristinare su una versione precedente un backup eseguito una versione successiva del SQL Server. Esiste però la possibilità di di esportare i dati o di creare un pacchetto BACPAC (a riguardo si veda Import a BACPAC File to Create a New User Database).
  3. La Management Studio 2012 non può essere installata su Windows XP, ma solo su Windows Vista e successivi. Se è necessario connettersi a SQL Server 2012 tramite la  Management Studio da un computer con Windows XP è possibile usare ad esempio la versione 2008 R2, ma sarà possibili solo eseguire query mentre non sarà possibile aprire le tabelle in modalità di modifica dati o progettazione (per modificare i dati occorrerà eseguire query SQL di inserimento, modifica o cancellazione, in alternativa è possibile utilizzare una console di terze parti come ad esempio EMS SQL Manager for SQL Server che mette a disposizione anche una versione free, altre possibili alternative sono Toad for SQL Server, Squel e SQL Server IDE).
  4. Se vi sono programmi scritti in Visual Studio 2008 che utilizzano Linq occorre tenere presente che tale versione non è compatibile con SQL Server 2012, infatti quando si tenta di connettersi a SQL Server 2012 il designer di Linq restitusce l’errore “This server version is not supported. Only servers up to Microsoft SQL server 2005 are supported” (a riguardo si veda il thread Visual Studio 2008 SP1 with SQL Server 2012). In questo caso occorre valutare la migrazione di tali applicazioni a Visual Studio 2010.