Ragazzi ho un problema: ho cinque database che mi girano in sql server A,B,C,D,E . Ora vorrei farmi una copia del database E per lavorarci in ambiente di prova. Come si fa a fare una copia? Basta fare backup?
Ragazzi ho un problema: ho cinque database che mi girano in sql server A,B,C,D,E . Ora vorrei farmi una copia del database E per lavorarci in ambiente di prova. Come si fa a fare una copia? Basta fare backup?
sì
Tutti vogliono parlare, nessuno sa ascoltare.
Se faccio solo il backup dovrei avere un file *.bck e non mdf. O sbaglio?
Certo, hai un solo file .bak ma poi se fai il restore ottieni nuovamente i due file .mdf e .ldf
Fammi capire: ho il database E, tasto dx backup database E, lo chiamo E2, poi devo scegliere il percorso ( in automatico mi da F:\backup ). Devo cambiare il percorso? (I database *.mdf sono in F:\database ). A questo punto dovrei avere il database E e il database E2. Se faccio un restore non vorrei che il database E2 vada ad intaccare il database E. Sto facendo confusione o è così?![]()
Allora: database E, tasto destro backup database - backup to: metti il nome che vuoi (puoi anche cambiare il percorso e metterne uno di più corto...). Il nome che indichi è il nome del file di backup che verrà creato, non devi preoccuparti di indicare il file .mdf di partenza perchè indicando il nome del database (E) se lo va a prendere da solo...
Una volta fatto il backup ottieni il file E2.bak; adesso puoi fare il restore: crei (sullo stesso server oppure su un altro) un nuovo database che chiami E2 (o quello che vuoi). Poi lo selezioni, tasto destro - restore database - from device - select devices - disk - add - file name e selezioni il tuo file .bak
Così fai il restore ed avrai creato un database E2 uguale a E
Scusami, ti ho detto una ca...ta: come ti avevo indicato non va bene ed invece è molto più semplice.
Dopo aver fatto il backup (quello che ti ho detto è giusto), NON DEVI creare un altro database; ti posizioni semplicemente sul database iniziale (E) restore database e selezioni "restore as database" ed indichi un nuovo nome, diverso dal precedente (E2)
Ti mostra già i backup presenti di E e quindi non devi selezionare niente: premi OK e lui crea un nuovo database (lo fa lui) con il nome E2 e lo restora...
Due domande: i database risiedono su una cartella DB ed hanno le loro belle estensioni A.mdf e A_log.ldf . Non potrei fare un brutale copia ed incolla dei file?
Se non è possibile, io ho un database copia di A che si chiama A2, posso fare il restore di A2 con E.bck? Mi dovrebbe dare un nuovo database che chiamerò E2. Giusto?
No, non farlo assolutamente.
E' tecnicamente possibile copiare i file .mdf e .ldf SOLAMENTE se prima viene eseguita la procedura sp_detach_db che , in sostanza, "sgancia" i file stessi dal controllo del server.
Una volta copiati (per esempio in un altro PC) sarà necessario "riagganciarli" al loro database utilizzando la sp_attach_db
Ti sconsiglio vivamente di seguire questa strada, il backup è senza dubbio la soluzione più comoda e sicura...
Ripeto la domanda ( ho fatto delle modifiche mentre rispondevi....):
Ho un database copia di A che si chiama A2, posso fare il restore di A2 con E.bck? Mi dovrebbe dare un nuovo database che chiamerò E2. Giusto?