2011-04-11 2 views
9

Ho un database che funziona su SQL Server 2000. Ora stiamo migrando su un nuovo server con SQL Server 2008 r2. Qualcuno può indicarmi qualche risorsa o howto? Non sto davvero cercando la soluzione per SQL 2000.Migrazione da SQL Server 2000 a 2008 R2 - Come

Grazie!

+0

Non si capisce SQL Server 2000? – gbn

risposta

12

In sostanza, ciò che devi fare è:

  • backup del database in SQL Server 2000 in un file .bak
  • mossa che file * .bak al nuovo server
  • ripristinare tale banca dati sul tuo nuovo server

Il gioco è fatto! Non c'è davvero niente di più ..... basta eseguire il backup (sul vecchio sistema) e ripristinare (sul nuovo sistema).

Quindi, dov'è esattamente il tuo problema ??

Aggiornamento: come @ Péter indica correttamente: questo lascia il database nella modalità di compatibilità di SQL Server 2000. Ciò significa: anche se hai "migrato" a SQL Server 2008 R2, puoi sempre utilizzare solo le 2000 funzionalità.

Per vedere ciò che la modalità di compatibilità del database è in, controllare la vista sys.databases catalogo:

SELECT * FROM sys.databases WHERE name = 'YourDatabaseName' 

Una colonna si chiama compatibility_level e contiene un INT; 80 = SQL Server 2000, 90 = SQL Server 2005, 100 = SQL Server 2008/2008 R2 e 110 = SQL Server 2012

Al fine di cambiare la vostra base di dati ad un livello di compatibilità diverso, utilizzare questo comando:

ALTER DATABASE YourDatabaseNameHere 
SET COMPATIBILITY_LEVEL = 100; 

Inserirà il database nella modalità "nativa" di SQL Server 2008 (e 2008 R2) e ora la migrazione è completa, è possibile utilizzare tutte le nuove funzionalità di SQL Server 2008 R2.

+2

Non ci sono problemi. Mi stavo solo chiedendo cosa dovrei fare e questa è solo la risposta che stavo cercando. Fare un backup sul vecchio server e fare un ripristino sul nuovo server. Grazie. –

+1

Stavo leggendo tutti i tipi di cose come esportare o staccare file DB, ecc. –

+1

non proprio .. - se ci sono DB Login allora dovranno essere ricreati e collegati - se si usa qualsiasi "* =" o " = * "si aggiunge che la sintassi è ora deprecata e causerà il fallimento di queste query, sarà necessario sostituire con la sintassi moderna - quando si ripristina il DB che sarà il proprietario, è necessario modificarlo in un account di sistema come SA – matao

0

cura Apr 2012 perché link originale cambiato alla versione più recente, SQL Server 2012

per un "in-situ" aggiornare (link MSDN):

... per SQL Server 2008 R2

È possibile aggiornare le istanze di SQL Server 2000, SQL Server 2005 o SQL Server 2008 a SQL Server 2008 R2.

... per SQL Server 1012

È possibile eseguire l'aggiornamento da SQL Server 2005, SQL Server 2008 e SQL Server 2008 R2 di SQL Server 2012.

+0

Questo collegamento è stato modificato in SQL Server 2012. Non risponde più alla domanda. – Andrew

+0

@Andrew: collegamenti fissi, grazie – gbn

3

vorrei iniziare eseguendo il Upgrade Advisor contro l'assistente 2000 (in bassa utilizzo o off ore) per vedere quali raccomandazioni fa e affrontare pienamente ogni: http://msdn.microsoft.com/en-us/library/ms144256.aspx

Anche qui è una carta bianca da MS sul tema: http://download.microsoft.com/download/2/0/B/20B90384-F3FE-4331-AA12-FD58E6AB66C2/SQL%20Server%202000%20to%202008%20Upgrade%20White%20Paper.docx

molto si potrebbe andare male ... troppo da coprire in un ambiente forum. Ma poi di nuovo niente potrebbe andare storto ... il piano migliore, testare e poi testarne ancora.

+0

Un buon consiglio, per chi cerca di aggiornare. Non era quello che stavo chiedendo, ma non permettermi di fermarti. Rispondi a tutte le domande che ti piacciono :) –

+0

Mi spiace, forse non dovresti esserti preoccupato di menzionare il fatto che stai migrando il database a R2 2008 che implica l'aggiornamento. Che ne dici di chiedere ciò di cui hai veramente bisogno, un tutorial per SQL 2000 ;-) –

0

Le altre risposte sono corrette dal punto di vista tecnico ma non dal punto di vista del supporto.

non credo che Microsoft supporta un aggiornamento diretto da SQL Server 2000 a SQL Server 2008 R2. Ciò non significa che sia difficile, solo che non è supportato. (Che può o non può essere significativo per lo scenario)

è possibile aggiornare SQL Server 2000 a SQL Server 2008 R1 e quindi eseguire un successivo aggiornamento a SQL Server 2008 R2. (O anche SQL Server 2012, se siete così inclinato)

1

Attualmente sto facendo la stessa cosa.

Creazione di SQL 2008 database da un 2000 ripristino bak è un buon primo passo. La maggior parte del lavoro per me riguardava le autorizzazioni degli utenti e mi assicuravo che gli utenti fossero sincronizzati con l'accesso al database e che non avessimo uno schema di database generato dal backup legato a quell'utente che avrebbe causato problemi se abbiamo provato a ricreare quell'utente del database.

Quello che abbiamo finito per fare era:

1) Creare uno script. Avevamo uno script che avrebbe scritto in modo dinamico uno script per eseguire le seguenti operazioni: rilasciare l'accesso, rilasciare l'utente db, eliminare lo schema, ricreare l'accesso, ricreare l'utente, concedere le autorizzazioni dell'utente.

2) Ripristinare il database.

4) Eseguire lo script generato

0

ancora un'altra opzione è quella di provare a connettersi di database (file) di SQL2K a sql2k8 direttamente.

0

Il modo più semplice è quello di eseguire il backup del database in SQL 2000 in un file con estensione bak e spostarlo. Fai un ripristino e tutto dovrebbe andare bene. Eseguire uno sp_Users_Loging per identificare gli utenti nel server orfano.