Domanda

Mi sto battendo sopra la testa con questa migrazione di app da alcuni giorni. Quello che ho è una vecchia applicazione supportata da MSSQL Server 2000 che viene aggiornata a un server Windows 2003 che esegue SMSQL Server 2005. Conosco poco SQL Server ma ovviamente non abbastanza.

Ho provato a eseguire il backup del database sul vecchio server andando su Database- > [Database] - > Tutte le attività- > Database di backup ..., selezionando "Completo" e salvando il file. Ho spostato quel file di backup sul nuovo server e ho provato a fare un ripristino ma mi sono lamentato dicendo che stava cercando il file .mdf [Database] nella posizione in cui si trovava sul vecchio server.

Quindi ho provato a fare un Export Data, ho selezionato il database SQL 2000 locale, l'ho puntato sul nuovo database SQL 2005 sull'altro computer, e arriva fino alla fine e muore lamentandosi del modo in cui uno dei i tavoli vengono uniti.

Ho provato quindi a fare un comando 'Genera SQL' sul box 2000 ed eseguendolo sotto SQL 2005. Sembra che ci siano molti join esterni usando la vecchia sintassi * = che SQL Server 2005 non supporta più e , essendo un database di fornitori, non hanno idea di quali fossero le loro vere intenzioni quando hanno impostato queste tabelle.

Esiste un altro modo in cui posso provare a migrare questo database?

È stato utile?

Soluzione

Il file di backup ha " hard " posizione dei file di dati memorizzati in esso. Devi solo aggiornarli:

Quando esegui il ripristino nel 2005, prima di fare clic sull'ultimo " ok " per ripristinare (dopo aver selezionato il file .bak), vai alla scheda opzioni. Questo avrà le posizioni mdf e ldf che erano nel file di backup. Modificali in directory legittime sul tuo nuovo computer.

Altri suggerimenti

È possibile scollegare il database dal vecchio server, copiare mdf e ldf (e qualsiasi altro file correlato) sul server server, quindi collegare il database al nuovo server.

Quando lo si collega, SQL Server lo aggiornerà a un database formattato 2005. Se hai problemi con la compatibilità, puoi cambiare anche quello. In SQL Server Management Studio, fai clic con il pulsante destro del mouse sul database, fai clic su Proprietà, fai clic su Opzioni e modifica la modalità di compatibilità in "SQL Server 2000 (80)".

Come notato da Peter, devi cambiare il percorso in uno nuovo che esiste sul nuovo server.
Questa immagine ti aiuterà:

restore

Un trucco che imparo anni fa è fare clic sull'ultimo pulsante di opzione (" Lascia il database in sola lettura ... ") per un minuto per visualizzare e copiare dove si trovano i file di dati nel nuovo server. Basta non dimenticare di riportarlo alla prima opzione prima di ripristinare

Crea un backup del database di SQL2000 su file. Crea un nuovo database su SQL2005 con lo stesso nome e ripristina il file di backup nel nuovo database con l'opzione "Forza ripristino su database esistente" e imposta il livello di copliant del nuovo database su " SQL2000 (8.0) " ;.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top