Ho appena finito di installare la versione Developer di SQL Server 2005 RTM sul mio portatile.
Ho deciso di rischiare (in realtà non avevo praticamente dubbi sul fatto che tutto sarebbe andato liscio, visto i numerosi lab di upgrade da 2000 a 2005 che ho tenuto) ed ho fatto un'upgrade in-place di tutta la mia installazione, che comprendeva:
- SQL Server 2000
- Analysis Server 2000
- Reporting Services 2000
Terminata la fase preliminare l'upgrade mi avvisa che i Reporting Services sulla mia macchina sono in Italiano (non è vero! erano la versione multi-language) e che pertanto non può procedere con l'upgrade del prodotto. Ok, disinstallo i Reporting Services 2000 e ritento. Tutto liscio come l'olio. Apro il Management Studio (è che è davvero velocissimo finalmente) e faccio un pò di query di test. Tutto ok Apro i report di sistema e....errore! Una finestra di dialogo sostiene che una query sta usando un table hints non riconosciuto. Per fortuna mi sono già imbattuto in questo errore a vado subito a controllare il livello di compatibilità del database in questione ossia...il master. Il livello di compatibilità è settato a 80 (Ossia compatibilità can SQL Server 2000)! Lo porto a 90 (SQL Server 2005) e tutto funziona perfettamente.
Mi sembra strano il fatto che il master sia settato con compatibilità 80...ma non credo si un errore mio in quanto durante il setup ho selezionato sempre le impostazioni di default....boh. In ogni caso se avete problemi con l'utilizzo di nuove funzionalità a livello di server e avete fatto un upgrade da SQL Server 2000 provate a dare un'occhiata al livello di compatibilità del master () ...i problemi potrebbero nascondersi li.
Parlando di upgrade in-place, è bene notare, inoltre, che TUTTI i database utenti presenti nel vostro sistema rimarrano in compatibilità 80, e l'abilitazione all'uso delle nuove funzionalità dovrà essere fatta manualmente, portando il db interessato a livello di compatibilità 90.
Per verificare il livello di compatibilità dei vostri database potete usare la seguente query:
select
[name], compatibility_level from sys.databases
go
per modificare il livello di compatibilità di database interessati è necessario usare la stored procedure di sistema sp_dbcmptlevel:
exec
sp_dbcmptlevel 'vostro_database', '90'
go