Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Δημιουργία κλώνου βάσης με T-SQL

Îåêßíçóå áðü ôï ìÝëïò goren. Τελευταία δημοσίευση από το μέλος goren στις 10-06-2012, 20:35. Υπάρχουν 3 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  10-06-2012, 16:40 70567

    Δημιουργία κλώνου βάσης με T-SQL

    Γειά σας
    Στον 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.

  •  10-06-2012, 17:04 70568 σε απάντηση της 70567

    Απ: Δημιουργία κλώνου βάσης με T-SQL

    Καταρχή δεν χρειάζεται να κάνεις create database καθώς απλά από το restore μπορεις να φτιάξει μια νέα απλά θα πρέπει να κάνει move τα άρχεια της είτε σε κάποιο άλλο directory ή στο ίδιο αλλά με άλλο όνομα.

    Πάμε στο σημείο που παίρνεις το λάθος. Στο Restore Database δίνεις το όνομα της παλιάς αντι για την νέα.


    Antonios Chatzipavlis

  •  10-06-2012, 17:08 70569 σε απάντηση της 70568

    Απ: Δημιουργία κλώνου βάσης με T-SQL

    επίσης ξέχασα να οου πω ότι αφου την κάνεις την διαδικασία μεσα από τον SSMS μπορείς να παρεις το script αν πατήσεις στον διάλογο script button που υπάρχει πανω πάνω


    Antonios Chatzipavlis

  •  10-06-2012, 20:35 70571 σε απάντηση της 70569

    Απ: Δημιουργία κλώνου βάσης με T-SQL

    Antonios Chatzipavlis:

    επίσης ξέχασα να οου πω ότι αφου την κάνεις την διαδικασία μεσα από τον SSMS μπορείς να παρεις το script αν πατήσεις στον διάλογο script button που υπάρχει πανω πάνω

    Αντώνη ευχαριστώ πολύ. Είναι τέλειο το script button. To έβλεπα αλλα δεν ήξερα τι ήταν.

     

Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems