Buono ha scritto:
1) Ho copiato i file .mdf e .ldf da importare in una nuova cartella
2) Ho messo offline il database
3) Con l'istruzione ALTER DATABASE ho modificato il percorso dei file fisici del database
4) Ho riportato online il database.
La procedura corretta è
1) fermare il servizio o scollegare il database con la sp_detach_db
2) copiare i file di database
3) riavviare il servizio (se era fermo) e fare l'attach dei nuovi file
Nel secondo caso il db nel server non esisteva, per cui si e' reso necessario un passo in piu', cioe' la
creazione del database
Non serve. La procedura di attach crea il database
0) Ho creato il nuovo database
1) Ho copiato i file .mdf e .ldf da importare in una nuova cartella
2) Ho messo offline il database
PRIMA si mette offline il database (meglio scollegarlo o fermare il servizio) e poi si copiano i file di database
Non sapendo cosa fare, ho riavviato il server e con mia grosso sorpresa anche altri database sono diventati
In Recovery, anche se questi database non sono stati minimamente toccati dall'operazione.
Dopo diverse ore e un altro reboot del server 2 db sono tornati disponibili mentre altri sono da diverse ore in stato
di recovery. A questo punto non so piu' dove sbattere la testa: qualcuno puo' dirmi per cortesia dove ho sbagliato,
e soprattutto come faccio a riportare online i database ?
Nell'error log di SQL Server e nell'event viewer del sistema operativo trovi nel dettaglio le cause dei problemi.
Per copiare i file di database questi NON devono essere in uso; se li hai copiati prima di mettere offline il database significa che l'opzione autoclose è impostata a ON. Ciò non ti assicura che tra l'inizio della copia (dove SICURAMENTE il database era chiuso e i relativi file non erano quindi in uso) e la fine il database non si sia "riaperto" per qualche motivo rendendo quindi inconsistenti i file dati...
Bye