Basta allegarlo e sarà aggiornato. Se non si dispone del file LDF (? E perché non si dispone del file LDF) potrebbe essere necessario utilizzare:
CREATE DATABASE [DatabaseName] ON
(FILENAME = N'Drive:\path\file.mdf')
FOR ATTACH_REBUILD_LOG;
Ci sono alcune avvertenze, ovviamente ...
- visto che hai solo il file .mdf, potresti essere in un brutto risveglio. Se il file non è stato rimosso in modo corretto da SQL Server, potrebbe non essere reinseribile e sarà necessario tornare al server di origine per un backup corretto (non un file .mdf). Tutto dipenderà da dove hai ottenuto il file .mdf che stai cercando di aggiornare. Se il file .mdf non è stato pulito per un lato, si può ottenere questo errore:
File activation failure. The physical file name "..._log.LDF" may be incorrect.
The log cannot be rebuilt because the database was not cleanly shut down.
Msg 1813, Level 16, State 2, Line 1
Could not open new database 'DatabaseName'. CREATE DATABASE is aborted.
- se il database è in modalità di compatibilità 80, sarà aggiornato a 90. Questo potrebbe significare un codice di lavoro possono interruzione improvvisa, ad esempio
*=
/=*
sintassi di join.
- se il vostro database è> 10 GB e provate ad allegare a Express (e forse LocalDB, non l'avete mai provato), il collegamento fallirà (o forse l'attaccamento avrà successo ma fallirà al primo aumento automatico? .
- si verificano anche problemi se il database è stato creato su Enterprise/Developer 2008 e le funzionalità utilizzate sono disponibili solo lì e si collega il database alle edizioni Standard o Express ...
- OK, dal messaggio di errore, si non stanno cercando di collegare un database 2008, ma piuttosto un database 2000. Non è possibile collegarlo direttamente a SQL Server 2012. Innanzitutto è necessario collegarlo a qualsiasi istanza di SQL Server 2005, 2008 o 2008 R2 per aggiornarlo a tale versione, quindi eseguirne il backup e ripristinarlo su SQL Server 2012.
FWIW, un modo molto, molto, molto più sicuro di spostare un database da un'istanza all'altra sta usando BACKUP
/RESTORE
(il motivo è che se il vostro backup non riesce, hai ancora una copia del database - se si staccare un database e qualcosa va storto, hai zero copie). Sebbene alcuni dei problemi sopra riportati possano ancora essere applicati anche con questo approccio più sicuro.
fonte
2013-03-01 17:56:54
non è necessaria la conversione di esso. Basta ripristinarlo direttamente su SQL Server 2012. –
Grazie per il tempo, ma ho il prossimo errore: Database 'Vendite' non può essere aggiornato perché la sua versione non-release (539) non è supportata da questa versione di SQL Server. Non è possibile aprire un database non compatibile con questa versione di sqlservr.exe. È necessario ricreare il database. Impossibile aprire il nuovo database 'Vendite'. CREATE DATABASE è stato interrotto. (Microsoft SQL Server, Errore: 950) ..................e onestamente ho trovato diverse soluzioni, ma senza successo – Andreu
Si prega di consultare l'aggiornamento alla mia risposta. Sai che c'è una grande differenza tra SQL Server 2000 e SQL Server 2008. Non descrivere il tuo problema con precisione è un buon modo per ottenere una serie di consigli inutili e sprecare il tempo delle persone nel processo. –