>Ciao a tutti, vorrei creare una copia esatta di un DB
>
>io ho provato a seguire questa strada:
>
>ho creato il backup completo del mio
OK
>ho creato un nuovo DB
Operazione inutile. Per ripristinare il database non è necessario crearne uno vuoto preventivamente, è sufficiente ricorrere al comando T-SQL RESTORE DATABASE.
>a questo punto vorrei fare il restore del backup nel nuovo DB
Dove? Se lo fai sulla stessa istanza andrai a sovrascrivere quello appena backuppato, se lo fai su una istanza differente (locale o remota non importa), devi verificare che il percorso fisico dei file che costituiscono il DB esista sul server, altrimenti dovrai ricorrere alla clausola WITH MOVE.
>ho provato a scegliere restore, indicando di sovrascrivere tutta
>la struttura ma credo che sia un problema (forse nei files) ...
>esiste un modo, non troppo complicato, per ottenere questo risultato?
Utilizzare il comando T-SQL RESTORE DATABASE
Ti propongo un esempio che effettua il backup del database Northwind e lo ripristina sulla stessa istanza con un nuovo nome, ottenendo di fatto una duplicazione del database:
BACKUP DATABASE Northwind
TO DISK = 'C:\Nwind.bak';
GO
/* Output:
Processed 376 pages for database 'Northwind', file 'Northwind' on file 2.
Processed 1 pages for database 'Northwind', file 'Northwind_log' on file 2.
BACKUP DATABASE successfully processed 377 pages in 0.134 seconds (22.994
MB/sec).
*/
Ora effettuo il restore sulla medesima istanza cambiando il nome al database
ed il percorso ai suoi files:
RESTORE DATABASE Northwind2
FROM DISK = 'C:\Nwind.bak'
WITH
MOVE 'Northwind' TO 'C:\northwnd.mdf',
MOVE 'Northwind_log' TO 'C:\northwnd.ldf';
GO
/* Output:
Processed 376 pages for database 'Northwind2', file 'Northwind' on file 1.
Processed 1 pages for database 'Northwind2', file 'Northwind_log' on file 1.
RESTORE DATABASE successfully processed 377 pages in 0.461 seconds (6.683
MB/sec).
*/
Infine elimino il database 'Northwind2':
DROP DATABASE Northwind2;
GO
/* Output:
Deleting database file 'C:\northwnd.ldf'.
Deleting database file 'C:\northwnd.mdf'.
*/
Per maggiori informazioni leggi il seguente paragrafo sui Books Online:
"How to restore files to a new location (Transact-SQL)"
http://msdn2.microsoft.com/en-us/library/aa176742.aspx
>Grazie
Prego.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org