Porting database da SQL Server 2000 a SQL Server 2005

venerdì 13 giugno 2008 - 11.35

delama77 Profilo | Junior Member

Ciao a tutti,
cosa mi comporta trasferire un database da Sql Server 2000 a Sql Server 2005.

So di essere stata un po' vaga , ma non ho veramente idea da dove cominciare

Grazie a tutti in anticipo.

Alessandra

lbenaglia Profilo | Guru

>cosa mi comporta trasferire un database da Sql Server 2000 a
>Sql Server 2005.

Ciao Alessandra,

puoi semplicemente eseguire un full backup del db SQL Server 2000 ed il relativo restore sull'istanza SQL Server 2005.
Nel caso in cui utilizzi login SQL Server, occhio al classico problema degli "utenti orfani" (ovvero riassociare gli user account alle corrispettive login), problema che risolvi utilizzando la stored procedure di sistema sp_change_users_login:
http://msdn.microsoft.com/en-us/library/ms174378.aspx

>Grazie a tutti in anticipo.
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

alx_81 Profilo | Guru

>Ciao a tutti,
Ciao!

>cosa mi comporta trasferire un database da Sql Server 2000 a Sql Server 2005.
Quando sposti (backup 2000 e restore 2005, detach da 2000 attach su 2005) puoi comunque impostare la compatibility level a 80, ovvero SQL Server 2000. Comunque ti consiglio di effettuare un backup del tuo db sql 2000, poi di detacharlo e riattacharlo su sql 2005 tramite le due stored procedure sp_detachdb e sp_attachdb, cambiare il compatibility level a 90 (nelle proprietà del database) ed infine fare le prove del caso.
Solo così sei realmente sicura che il tutto funzioni perfettamente.

sp_attach_db (transact-sql)
http://msdn.microsoft.com/en-us/library/ms179877.aspx

sp_detach_db (transact-sql)
http://msdn.microsoft.com/en-us/library/ms188031.aspx

E quando vedi che tutto va per il meglio, rilanci una bella ricostruzione degli indici.

Inoltre, attenzione agli utenti del database che porti con te verso la nuova versione. Dovrai utilizzare la sp_change_user_login:
http://msdn.microsoft.com/en-us/library/ms174378.aspx

>Grazie a tutti in anticipo.
di nulla!

--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

delama77 Profilo | Junior Member

Grazie per le istruzioni

Un'altra domanda le SP utente del mio db ( 2000 ) dopo il collegamento devono essere riscritte ?
Un mio collega sostiene questo perchè ha detto che la sintassi delle SP è diversa ...

A presto
Alessandra

alx_81 Profilo | Guru

>Un'altra domanda le SP utente del mio db ( 2000 ) dopo il collegamento
>devono essere riscritte ?
no, al massimo cambiate in certi punti se si è usata una sintassi diventata obsoleta per sql server 2005.

>Un mio collega sostiene questo perchè ha detto che la sintassi delle SP è diversa ...
potrebbe.. dipende cosa
Ad esempio, ho trovato sp che usavano degli hint in un modo che sql server 2005 non riconosceva più a livello di sintassi.

--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

lbenaglia Profilo | Guru

>Un'altra domanda le SP utente del mio db ( 2000 ) dopo il collegamento
>devono essere riscritte ?
Al 99% no.

>Un mio collega sostiene questo perchè ha detto che la sintassi
>delle SP è diversa ...
Meglio fidarsi dell' Upgrade Advisor, non dei colleghi
http://www.microsoft.com/downloads/details.aspx?familyid=1470E86B-7E05-4322-A677-95AB44F12D75&displaylang=en

>A presto
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

delama77 Profilo | Junior Member

oppure passare direttamente a sql server 2008 ....

mamma mia che idee confuse che ho

la difficoltà che mi pressano ...

Grazie ancora per la pazienza

Alessandra

lbenaglia Profilo | Guru

>oppure passare direttamente a sql server 2008 ....
...di cui è appena stata rilasciata la RC0 ma la RTM vedrà la luce solo tra qualche mesetto

>mamma mia che idee confuse che ho
>la difficoltà che mi pressano ...
Guarda Ale, considera SQL Server 2008 un "servicepaccone" di SQL Server 2005 (esattamente come il 2000 lo è stato per il 7.0)
Ci sono parecchie migliorie sotto diversi aspetti, ma il salto "generazionale" che avrai dal passaggio da SQL Server 2000 al 2005 è decisamente più importante rispetto al passaggio da SQL Server 2005 al 2008.
Io stesso nelle prossime 2 settimane metterò in piedi un nuovo cluster SQL Server 2005 per consolidare una ventina di istanze SQL Server 2000 che abbiamo ancora in produzione.

Se in questo momento hai la necessità di svecchiare il parco macchine, passa tranquillamente a SQL Server 2005, per il 2008 c'è sempre tempo

>Grazie ancora per la pazienza
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5