Processo di aggiornamento da SQL Server 2000 a SQL Server 2012


8

Ho un database SQL Server 2000 che vorrei aggiornare a SQL Server 2012 (in esecuzione su un server diverso).

Non credo che esista un percorso di aggiornamento diretto, ma se esiste, che cos'è?

Il mio piano attuale è:

  1. Database di backup di SQL Server 2000
  2. Ripristino su server con SQL Server 2008 installato
  3. Impostare il livello di compatibilità su 100(SQL Server 2008 / SQL Server 2008 R2)
  4. Database di backup dal server SQL Server 2008
  5. Ripristino sul server con SQL Serevr 2012 installato
  6. Impostare il livello di compatibilità su 110(SQL Server 2012)

Sto facendo passi non necessari? Mi manca qualcosa (come l'esecuzione di utility per identificare l'utilizzo di Transact-SQL non supportato)?


Avrai comunque voglia di fare cose come aggiornare le statistiche, ma per il resto il tuo processo mi sembra giusto.
Aaron Bertrand

Non deve essere 2008 / R2 - Il 2005 è supportato nel 2012.
OMG Ponies

Risposte:


5

No, come la vedo io, non ti sei perso nulla. Ho aggiornato uno dei miei database da SQL Server 2000 a SQL Server 2012.

Un altro modo è aggiornare l'intero server: in questo caso è possibile utilizzare la procedura guidata di aggiornamento.

AGGIORNAMENTO: il mio processo di aggiornamento è andato a buon fine, ma fai attenzione alle funzionalità fuori produzione e obsolete in SQL Server 2008 e 2012.


Esiste un modo automatizzato per identificare quelle funzionalità discontinue e ammortizzate?
automatico

Per quanto riguarda 2000-> 2008, in questo modo è necessario utilizzare la procedura guidata di aggiornamento. In SQL Server 2000 è necessario eseguire l'installazione di SQL Server 2008, quindi selezionare Pianificazione -> Installa adwizor aggiornamento. Dopo l'installazione prova a eseguirlo. Ma non ho provato a farlo su Windows 2000, forse questo metodo non funzionerà.
Alex_L

1
Non è possibile eseguire l'upgrade diretto dal 2000 al 2012. Dovrai prima eseguire l'aggiornamento a 2005/2008/2008 R2, aggiornare il livello di compatibilità dei tuoi database a 90 o 100, quindi eseguire l'aggiornamento a 2012.
Aaron Bertrand

@AaronBertrand è necessario modificare il livello di compatibilità per il processo di aggiornamento?
Stanley Johns

2
Sì perché SQL Server 2012 non supporta la compatibilità 80 (2000). Non è necessario cambiare tutta la strada fino a 110, ma si dovrebbe tenere solo a 90 o 100 se si dispone di una buona ragione ...
Aaron Bertrand

1

Presta attenzione alle colonne contenenti post di blog, ad esempio.

I text, ntexte imagetipi di dati frequentemente utilizzati in SQL Server 2000, sono deprecate in SQL Server 2012 (anche se sono ancora disponibili), e dovrebbero essere sostituiti con varchar(max), nvarchar(max)e varbinary(max)tipi di dati, rispettivamente.


1

Ecco una rapida query per verificare se una delle tue tabelle utilizza tipi di dati obsoleti.

SELECT  sys.objects.NAME AS [table_name] ,
        sys.columns.NAME AS [column_name] ,
        sys.types.NAME AS [data_type]
FROM    ( sys.columns
          INNER JOIN sys.objects ON sys.objects.object_id = sys.columns.object_id
        ) INNER JOIN sys.types ON sys.types.system_type_id = sys.columns.system_type_id
WHERE   sys.types.name IN ( 'text', 'ntext', 'image' )
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.