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

 

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

μεταφορά δεδομένων από SQL Server 2005 σε 2008 στον πελάτη

Îåêßíçóå áðü ôï ìÝëïò manosB. Τελευταία δημοσίευση από το μέλος thanasis_agr στις 12-10-2009, 11:34. Υπάρχουν 14 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  05-02-2009, 13:06 48216

    μεταφορά δεδομένων από SQL Server 2005 σε 2008 στον πελάτη

    Το σενάριο:

    Έχουμε 2 βάσεις με ίδια δομή η μία σε instance του 2005 kai η άλλη η καινούργια σε άλλο instance 2008. Θέλω κάποιο εργαλείο να μου δημιουργησεί αυτόματα το Script για να περάσω τα δεδομένα από τη μία βάση στην άλλη. Εννοείτε πως υπάρχουν σχέσεις που πρέπει να ληφθούν υπόψη. Αυτή η διαδικασία θα γίνεται σε πολλούς πελάτες άρα τα Data που πρέπει να γίνουν migrate κάθε φορά θα διαφέρουν. (Η δομή των βάσεων θα είναι πάντα η ίδια).

     Αν κάτσω και το γράψω μόνος μου το Script θα μου πάρει πολύ καιρό διότι μιλάμε για μεγάλες βάσεις. Υπάρχει καμιά ιδέα?? 


    Manos
  •  05-02-2009, 13:47 48222 σε απάντηση της 48216

    Απ: μεταφορά δεδομένων από SQL Server 2005 σε 2008 στον πελάτη

    http://www.red-gate.com/products/SQL_Data_Compare/index.htm

    http://www.sqlaccessories.com/SQL_Data_Examiner/

    Κανουν την δουλειά για σενα, σου βγαζουν και το script αμα θές...


    View Παναγιώτης Χαραλάμπους's profile on LinkedIn
    Coding at Mediterranean Acoustics
  •  06-02-2009, 10:12 48238 σε απάντηση της 48222

    Απ: μεταφορά δεδομένων από SQL Server 2005 σε 2008 στον πελάτη

    Pak δεν νομίζω ότι μου κάνουν αυτά τα εργαλεία που μου έστειλες. Tο SQL Data Compare που έχω δοκιμάσει το Script που παράγει αυτόματα κάνει Insert συγκεκριμένα δεδομένα από συγκεκριμένες βάσεις. Εγώ θέλω να φτιάξω ένα πιο "generic" script που να τρέχει ανεξάρτητα με τι δεδομένα έχει η κάθε βάση. Όπως έγραψα και αρχικά κάθε βάση πελάτη έχει και διαφορετικά Data. Καμιά άλλη ιδέα?
    Manos
  •  06-02-2009, 11:02 48241 σε απάντηση της 48238

    Απ: μεταφορά δεδομένων από SQL Server 2005 σε 2008 στον πελάτη

    Μάλλον δεν έχεις εξηγήσει καλά τι προσπαθείς να κάνεις αφού κι εμένα μου πήγε το μυαλό στις λύσεις που σου έδωσε ο Pak. Συγκεκριμένα δεδομένα δεν πρέπει να περνάς από την δική σου βάση στον πελάτη; Όποια λύση και να υλοποιήσεις, συγκεκριμένα data θα πρέπει να περάσεις, τι εννοείς generic?

    Χμμ... μιλάς για διαδικασία initialization ή για περιοδικό synchronization;


    Vir prudens non contra ventum mingit
  •  06-02-2009, 13:24 48254 σε απάντηση της 48241

    Απ: μεταφορά δεδομένων από SQL Server 2005 σε 2008 στον πελάτη

    ManosB μήπως αυτο που σου χρειάζεται να είναι ένα SSIS package το οποιο να εκτελείς κάθε φορά που θέλεις να μεταφέρονται δεδομένα?


    View Παναγιώτης Χαραλάμπους's profile on LinkedIn
    Coding at Mediterranean Acoustics
  •  06-02-2009, 13:53 48257 σε απάντηση της 48254

    Απ: μεταφορά δεδομένων από SQL Server 2005 σε 2008 στον πελάτη

    Λοιπόν να ξεκαθαρίσουμε λίγο τα πράγματα.

    Η βάση 2005 είναι στους πελάτες. Άρα κάθε πελάτης έχει διαφορετική σε δεδομένα βάση. Λοιπόν η καινούργια έκδοση του προγράμματος μου τρέχει σε βάση 2008 (με το ίδο σχήμα)

    Άρα αυτόματα η νέα έκδοση του προγράμματος θα δημιουργεί ένα νέο instance σε 2008 μια καθαρή βάση σε κάθε πελάτη. Πρέπει λοιπόν τοπικά σε κάθε πελάτη να μεταφέρω τα Data από τη βάση του πελάτη σε 2005 στη νέα του άδεια βάση σε 2008.

    Αυτό θα γίνει σε όλους τους πελάτες. Τον μηχανισμό τον έχω φτιάξει, το  SQL script για το migrate των δεδομένων πρέπει κάποιο μαγικό εργαλείο να μου το φτιάξει για να μην βγάλω τα ματάκια μου. Η διαδικασία θα γίνει άπαξ.

     


    Manos
  •  06-02-2009, 14:35 48259 σε απάντηση της 48257

    Απ: μεταφορά δεδομένων από SQL Server 2005 σε 2008 στον πελάτη

    Και για πιο λόγο ακριβώς δεν μπορεί να γίνει αυτό με την Generate Scripts του SQL Management Studio ή απλά να γίνει attach η βάση στον SQL Server 2008 και μετά να αλλάξεις το Compatibility level? Εκτός κι εάν αλλάζει και το schema της βάσης στον 2008, so you're screwed γιατί πρέπει όσα αλλάξανε να τα γράψεις με το "χέρι"(Τώρα το είδα ότι δεν αλλάζει). Διαφορετικά η Generate Scripts (απο το Tasks context menu) μπορεί να σου λύσει τα χέρια.. ενεργοποιείς το Script Data (για να πάρει και δεδομένα) ή ότι άλλη επιλογή θέλεις, export σε file και μετά στον πελάτη batch import με το osql tool (e.g osql -E -S (local)\SQLEXPRESS -i yoursourcefile.sql (για Windows Authentication Mode)).


    Παναγιώτης Κεφαλίδης

    "Για να επιτύχεις, θα πρέπει το πάθος σου για την επιτυχία να είναι μεγαλύτερο απο τον φόβο σου για την αποτυχία"

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
  •  06-02-2009, 15:13 48263 σε απάντηση της 48259

    Απ: μεταφορά δεδομένων από SQL Server 2005 σε 2008 στον πελάτη

    Από ότι καταλαβαίνω θέλει μια αυτοματοποιημένη διαδικασία και όχι να μπεί στο Management Studio να το κάνει.
    Backup σε 05 και restore σε 08 δεν γίνεται; Αν γίνεται τότε μπορείς να γράψεις δυο απλά scripts:
    1) τρέχεις αυτό στον 05
    BACKUP DATABASE [mydb] TO  DISK = N'C:\temp.bak' WITH NOFORMAT, NOINIT,  NAME = N'Temp backup for migration', SKIP, NOREWIND, NOUNLOAD,  STATS = 10
    GO
    2) και αυτό στον 08
    USE [master]
    GO
    RESTORE DATABASE [mydb] FROM  DISK = N'C:\temp.bak' WITH  FILE = 1,  NOUNLOAD,  STATS = 10
    GO

    Είπες ότι το σχήμα είναι ίδιο. Αλλά και να μην είναι, τρέχεις πρώτα change scripts και μετά κάνεις το backup.

    edited: Χαίρομαι πολύ όταν ακούω κόσμο να θέλει να κάνει migration/upgrade χωρίς να θέλει να πάρει την βάση του πελάτη στο γραφείο!

    Dimitris Papadimitriou
    Software Development Professional
    dotNETZone.gr News

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
  •  06-02-2009, 15:32 48265 σε απάντηση της 48263

    Απ: μεταφορά δεδομένων από SQL Server 2005 σε 2008 στον πελάτη

    Ehm, νομίζω ότι απάντησα και στα δύο.. Δηλαδή έδωσα και την λύση για backup και το Management Studio αλλά επίσης εάν θέλει υπάρχουν και τα SMO που ουσιαστικά τα χρησιμοποιεί το Management Studio..


    Παναγιώτης Κεφαλίδης

    "Για να επιτύχεις, θα πρέπει το πάθος σου για την επιτυχία να είναι μεγαλύτερο απο τον φόβο σου για την αποτυχία"

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
  •  06-02-2009, 15:40 48267 σε απάντηση της 48263

    Απ: μεταφορά δεδομένων από SQL Server 2005 σε 2008 στον πελάτη

    Dimitris Papadimitriou:
    Από ότι καταλαβαίνω θέλει μια αυτοματοποιημένη διαδικασία και όχι να μπεί στο Management Studio να το κάνει.

    Αυτό ακριβώς θέλω

    Dimitris Papadimitriou:
    BACKUP DATABASE [mydb] TO  DISK = N'C:\temp.bak' WITH NOFORMAT, NOINIT,  NAME = N'Temp backup for migration', SKIP, NOREWIND, NOUNLOAD,  STATS = 10
    GO
    2) και αυτό στον 08
    USE [master]
    GO
    RESTORE DATABASE [mydb] FROM  DISK = N'C:\temp.bak' WITH  FILE = 1,  NOUNLOAD,  STATS = 10
    GO

    Η βάση που θα δημιουργηθεί τι compatibility mode θα έχει? Εγώ θέλω να είναι καθαρή 2008.


     

     

     

     

     


    Manos
  •  06-02-2009, 15:53 48268 σε απάντηση της 48267

    Απ: μεταφορά δεδομένων από SQL Server 2005 σε 2008 στον πελάτη

    Εγώ εξακολουθώ να πιστεύω ότι μπορείς να το κάνεις με SSIS. Φτιάξε ένα SSIS package που θα κάνει το migration όπως εσύ το θέλεις και μετά μπορείς να το τρέξεις σε κάθε πελάτη με το dtexec.exe. Αυτό πιστεύω ότι μπορεί να γίνει και αυτοματοποιημένα κατά τη διάρκεια του installation, αν αυτό είναι που θέλεις να κάνεις...


    View Παναγιώτης Χαραλάμπους's profile on LinkedIn
    Coding at Mediterranean Acoustics
  •  06-02-2009, 17:29 48269 σε απάντηση της 48267

    Απ: μεταφορά δεδομένων από SQL Server 2005 σε 2008 στον πελάτη

    manosB:

    Η βάση που θα δημιουργηθεί τι compatibility mode θα έχει? Εγώ θέλω να είναι καθαρή 2008.

    Το βασικό είναι αν γίνεται restore από backup που έγινε από 2005. Από εκεί και πέρα τρέχεις και ένα script και αλλάζεις το compatibility mode.


    Dimitris Papadimitriou
    Software Development Professional
    dotNETZone.gr News

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
  •  06-02-2009, 17:53 48270 σε απάντηση της 48269

    Απ: μεταφορά δεδομένων από SQL Server 2005 σε 2008 στον πελάτη

    Dimitris Papadimitriou:
    manosB:

    Η βάση που θα δημιουργηθεί τι compatibility mode θα έχει? Εγώ θέλω να είναι καθαρή 2008.

    Το βασικό είναι αν γίνεται restore από backup που έγινε από 2005. Από εκεί και πέρα τρέχεις και ένα script και αλλάζεις το compatibility mode.

    Γίνεται.. το αντίστροφο δεν γίνεται απο 2008 σε 2005 ακόμα κι αν το compatibility level είναι 90 (2005).


    Παναγιώτης Κεφαλίδης

    "Για να επιτύχεις, θα πρέπει το πάθος σου για την επιτυχία να είναι μεγαλύτερο απο τον φόβο σου για την αποτυχία"

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
  •  06-02-2009, 18:02 48271 σε απάντηση της 48270

    Απ: μεταφορά δεδομένων από SQL Server 2005 σε 2008 στον πελάτη

    Panagiotis Kefalidis:

    Γίνεται.. το αντίστροφο δεν γίνεται απο 2008 σε 2005 ακόμα κι αν το compatibility level είναι 90 (2005).


    Μα... το αντίστροφο θέλουμε κι εμείς. Από backup από 2005 και restore σε 2008. Σωστά!
    Μια δοκιμή θα μας πείσει... εκτλέση των scripts που έδωσα παραπάνω και μετά εκτέλεση της sp_dbcmptlevel για να αλλάζει το comp.level σε 2008.

    Dimitris Papadimitriou
    Software Development Professional
    dotNETZone.gr News

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
  •  12-10-2009, 11:34 54400 σε απάντηση της 48271

    Απ: μεταφορά δεδομένων από SQL Server 2005 σε 2008 στον πελάτη

    Καλημέρα,

    Θα σου πρότεινα να χρησιμοποιήσεις τις επιλογές Import Data/Export Data που σου δίνει το management studio. Προσωπικά αυτές χρησιμοποιώ για παρόμοιες εργασίες.

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