Newsgroup: it.comp.software.database
Titolo: Migrazione SQL Server da 2000 a 2005

Ciao a tutti ho un problema e cercherò di essere il più chiaro e completo 
possibile nell'esporlo.
Sto cercando di migrare un db da SQL Server 2000 a SQL Server 2005.
Il Database è composto da 336 tabelle e 2409 Stored Proc.
Facendo un semplice backup del db da SQL Server 2000 e restorandolo sul 2005 
ho avuto un sacco di problemi.
Innanzitutto molte stored proc sembrano non essere più sintatticamente 
valide, infatti in esecuzione danno errore.
Oltre a questo sembrano non essere più ottimizzate e spesso l'esecuzione va 
in timeout.
Ho provato ad usare il Database Engine Tuning Advisor di SQL Server 2005 
(versione 9.00.1339.00) per farmi suggerire gli indici e le viste e 
quant'altro per risolvere il problema dell'ottimizzazione.
Però spesso il programma si blocca e poi si chiude chiedendo se mandare la 
segnalazione a MS e nonostante si faccia la segnalazione non vi è alcun 
suggerimento per la soluzione o quantomeno per individuare la causa.
Per cui è diventato impossibile lavorarci.
Mi chiedevo quindi se esiste qualche aggiornamento al Tuning Advisor che 
magari risolva questo problema.
Oppure se esiste qualche altro Tool anche non di Microsoft anche per il 
controllo sintattico delle Stored Procedure...oppure per la migrazione 
completa del database.
Insomma diciamo che qualsiasi suggerimento è ben accetto, anche se qualche 
anima pia avesse la voglia e il tempo di spiegare gli step che seguirebbe (o 
magari ha già seguito) per fare la migrazione da SQL Server 2000 a SQL 
Server 2005.
Vi ringrazio tutti in anticipo.
David
-- 
******
L'uomo è padrone di ciò che ha da dire ma è schiavo di ciò che ha detto.
****** 

 in timeout.
molto strano... da noi abbiamo portato alcuni DB da 2000 a 2005 senza
problemi (almeno non i problemi di sp errate, non abbiamo ancora 
verificato le performance) sia facendo un backup/restore sia facendo
"detach dal server 2000 / copia file / attach sul server 2005" (!)
Una possibile causa e' che le sp cnon sono state ricompilato dopo
una modifica al DB, quindi sono non valide ma sul server 2000 non
te ne sei mai accorto. evidentemente durante il restore 2005 ricompila
tutto e l'errore diventa evidente.
Per verificarlo prova a eseguire su 2000 la sp_recompile su una delle SP 
che su 2005 danno problemi. Magari da errore anche 2000?
Se non funziona, puoi mandare un esempio di SP che risulta 
sintatticamente errata?
ciao
Giacomo

 Server 2005.
I passi sono di per se banali. Puoi procedere sia facendo un restore su SQL 
Server 2005 del backup fatto con SQL Server 2000 che procedendo ad una 
operazione di attach di TUTTI i file che compongono i database utilizzando 
la sp_attach_db (adesso deprecata) o, meglio, la CREATE DATABASE ... FOR 
ATTACH. In entrambi i casi al termine del ripristino o dell'attach vengono 
aggiornate le strutture interne dei metadati e, pertanto, l'operazione è 
irreversibile.
Una volta collegato il tuo db all'istanza di SQL Server 2005 è 
indispensabile modificare l'owner del db affinchè sia un login valido della 
nuova istanza (sempre che non lo sia già), modificare il livello di 
compatibilità (sp_dbcmptlevel) altrimenti non userai tutte le feature di SQL 
Server 2005 e aggiornare le statistiche (sp_updatestats)...
Bye
-- 
Luca Bianchi
Microsoft MVP - SQL Server
http://blogs.aspitalia.com/lucabianchi


 Giacomo


 interessate dalla sp.
Questo e' vero in teoria... se nella stored procedure sono presenti
delle viste, che sono basate su altre viste, che utilizzano delle udf 
che restituiscono recordset... e cosi' via per qualche livello, alla 
fine il server si perde un po' per strada e puo' capitare di modificare 
una tabella togliendo un campo e di vedere una sp che restituisce un 
recordset dove tutti i campi sono sfasati di una posizione.
Una volta siamo impazziti per capire da dove veniva questo problema! 
Appena lanciate manualmente le sp_refreshview e sp_recompile su tutti 
gli oggetti il problema e' sparito.
ciao
Giacomo