Γειά σας
Στον Microsoft SQL Server Management Studio R2 προκειμένου να κλωνοποιήσω μια υπάρχουσα βάση δεδομένων σε μια νέα με άλλο όνομα κάνω τα εξής βήματα
Υπάρχουσα βάση OldDatabase
Νέα βάση NewDatabase
1. Δημιουργία νέας βάσης
Databases > New Database > Όνομα νέας βάσης NewDatabase
2. Backup την υπάρχουσας βάσης
Restore την βάσης OldDatabaseFull και μετονομασία των αρχείων της βάσης
Δεξί κλικ στη βάση NewDatabase -> Tasks -> Restore -> Database
3. Καρτέλα General
From database = OldDatabase
To database = NewDatabase
4. Καρτέλα Options
Στο Restore As μετονομάζουμε
Απο
C:\Program Files\Microsoft SQL Server\MSSQL\data\OldDatabase.mdf
C:\Program Files\Microsoft SQL Server\MSSQL\data\OldDatabase _log.ldf
Σε
C:\Program Files\Microsoft SQL Server\MSSQL\data\NewDatabase.mdf
C:\Program Files\Microsoft SQL Server\MSSQL\data\NewDatabase _log.ldf
5. Καρτέλα Options
Τσεκάρουμε το 'Overwrite the existing database'
Και η διαδικασία είναι επιτυχής. Δημιουργήτε η νέα βάση κανονικά με όλα τα περιεχόμενα και τις ιδιότητες της παλιάς.
Προσπαθώ να κάνω αυτή τη διαδικασία μέσω T-SQL
1.==== ΔΗΜΙΟΥΡΓΙΑ ΒΑΣΗΣ =====
CREATE DATABASE NewDatabase
GO
2.==== BACKUP ΒΑΣΗΣ=====
BACKUP DATABASE OldDatabase
TO DISK='c:\OldDatabaseFull.bak'
GO
Για το restore της βάσης και για την μετονομασία του
RESTORE DATABASE OldDatabase
FROM DISK = 'c:\OldDatabaseFull.bak'
WITH
MOVE 'OldDatabase' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA\NewBase.mdf',
MOVE 'OldDatabase_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA\NewBase_log.ldf', STATS=5
WITH REPLACE
Στο τελευταίο κάτι πρέπει να κάνω λάθος
μου βγάζει το παρακάτω μήνυμα
Msg 3154, Level 16, State 4, Line 2
The backup set holds a backup of a database other than the existing 'NewBase' database.
Msg 3013, Level 16, State 1, Line 2
RESTORE DATABASE is terminating abnormally.