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

 

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

Μα... να μην μπορώ να κάνω restore!!!

Îåêßíçóå áðü ôï ìÝëïò Thiseas. Τελευταία δημοσίευση από το μέλος Thiseas στις 24-08-2007, 14:47. Υπάρχουν 5 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  23-08-2007, 12:51 34459

    Μα... να μην μπορώ να κάνω restore!!!

    Έχω μια βάση σε ένα server της εταιρίας με SQL Server 2005.
    Θέλω να την μεταφέρω στο laptop μου, που έχω Sql Server 2000 και Sql Server 2005.
    Δηστυχώς το backup από τον server της εταιρίας μου δεν γίνεται restore με τίποτα στον Sql Server 2005 του laptop μου!!
    Μου βγάζει συνέχεια:

    Too many backup devices specified for backup or restore; only 64 are
    allowed. RESTORE HEADER ONLY is terminating abnormally.


    Με ένα workaround που έκανα στο Net είδα οτι στο laptop δεν έχω 2005 compatibility level, δηλαδή 90, και για αυτό συμβαίνει το παραπάνω error.
    Εκτελώντας στο laptop από τον Sql Server 2005, την εντολή SELECT @@VERSION, παίρνω... (μην πω τώρα!!) :

    Microsoft SQL Server 2000 - 8.00.194 (Intel X86) Aug 6 2000 00:57:48 Copyright (c) 1988-2000 Microsoft Corporation Personal Edition on Windows NT 5.1 (Build 2600: Service Pack 2)


    Ερώτηση [1]: Κατ' αρχάς δεν καταλαβαίνω γιατί μέσα από το περιβάλλον του 2005 ειμαι compatible μόνο με 2000... έκανα κάποιο λάθος στο setup?
    Αυτή τη στιγμή το compatibility level που έχω στο laptop είναι 80 και θέλω να το αλλάξω σε 90! Μόνο έτσι θα "πετύχει" το restore.
    Για να κάνω αυτό δίνω:

    EXEC sp_dbcmptlevel MyDatabaseName, 90;
    ---

    Αλλά και πάλι... αρνήται πεισματικά.....

    Msg 15416, Level 16, State 1, Procedure sp_dbcmptlevel, Line 92
    Usage: sp_dbcmptlevel [dbname [, compatibilitylevel]]

    Valid values of database compatibility level are 60, 65, 70, or 80.


    Αυτή τη στιγμή το compatibility level που έχω στο laptop είναι 80 και θέλω να το αλλάξω σε 90! Δεν βλέπω όμως πουθενά το 90!!

    Ερώτηση [2]: Γνωρίζει κανένα φίλος πως μπορώ να κάνω τον SQL server 2005 στο laptop μου να υποστηρίζει και το compatibility level 90?
    Μηπώς να κατεβάσω κανένα service pack?
    Απ' ότι είδατε έχω το 2.

    Σας ευχαριστώ πολύ για τον χρόνο σας...

    Nothing to declare...
  •  23-08-2007, 13:07 34461 σε απάντηση της 34459

    Απ: Μα... να μην μπορώ να κάνω restore!!!

    Υποθέτω ότι ο 2000 και ο 2005 βρίσκονται σε διαφορετικά Instances στο laptop σου. Μήπως συνδέεσαι στο λάθος Instance? Πως έχεις ονομάσει τα instances και πως συνδέεσαι με τη βάση? Με ποιό εργαλείο?

    Επίσης, το compatibility level είναι option κάθε συγκεκριμμένης βάσης και όχι ολόκληρου του server. Μπορείς να το θέσεις από το GUI. Πηγαίνεις στο Management Studio και στα properties της database που σε ενδιαφέρει, πηγαίνεις στην επιλογή Options. Το τρίτο combo από επάνω είναι η επιλογή Compatibility level. Η τιμή του σε μία βάση δεν επηρεάζει το αποτέλεσμα που σου επιστρέφει η @@VERSION. 

    Αν δεν εμπιστεύεσαι την @@VERSION, δοκίμασε να δεις αν μπορείς να διαβάσεις κάποια από τα tables ή views τα οποία υπάρχουν μόνο στον 2005, όπως το sys.database_mirroring. Αυτά υπάρχουν είτε η βάση είναι σε compatibility mode 80 είτε 90.


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  23-08-2007, 13:31 34462 σε απάντηση της 34461

    Απ: Μα... να μην μπορώ να κάνω restore!!!

    Κατ' αρχάς thnx 4 ur quick response...

    Ναι, έχεις δίκιο ... το ξέρω, αλλά δεν το είπα καλά... το Compatibilitty Level ειναι per DB.!!

    Τώρα, για το instance... δεν ξέρω σε ποιό συνδέομαι? Πως μπορώ να το δώ αυτό? (Δεν έκανα εγώ ο ίδιος την εγκατάσταση του 2005).

    Χρησιμοποιώ το managemet studio, το οποίο μου δείχνει πάλι, compatibility level... μέχρι το 80:




    Αν και νομίζω οτι ίσως είναι θέμα instance.... πως θα το δώ αυτό...?



    Nothing to declare...
  •  24-08-2007, 13:08 34472 σε απάντηση της 34462

    Απ: Μα... να μην μπορώ να κάνω restore!!!

    Gyus, sorry...
    Αλλά επανέρχομαι για να απαντήσω... όχι στον εαυτό μου, αλλά σε κάποιον που θα έχει παρόμοιο πρόβλημα και θα θέλει να βρει ένα workaround....
    Διότι μόνο workaround θεωρώ οτι είναι αυτό που έκανα τελικά για να λύσω το πρόβλημα μου...

    Λοιπόν... μετά από πολλές προσπάθειες, είδα οτι ο SQLServer 2005 δεν είναι σε διαφορετικό instance από τον SQL Server 2000.
    Αυτό το είδα από το:
    Control Pannel \ Add Remove Programs
    Πήγα στον Sql Server 2005 Και πάτησα "change", και εκεί μου έδειξε τα Instances που υπήρχαν.

    Παρατήρησα οτι υπήρχε μόνο ένα instance, άρα αυτό του 2000...

    Έκανα το τεράστιο λάθος να προσπαθήσω να βάλω τον Sql Server 2005 Express Edition σε άλλο Instance (όπως προτεινότανε από πολλά sites)... διοτι είμουνα σπιτι και δεν είχα το setup του Sql Server 2005 Developer...

    Ε... από τότε άρχισαν απίστευτα προβλήματα...

    Κατ' αρχάς το setup ανέφερε οτι όλα πήγαν καλά, αλλά πουθενά δεν υπήρχε το πρόγραμμα του SQL Server Express για να το τρέξω... το μόνο που υπήρχε ήτανε η παλιά εγκατάσταση,... χωρίς τίποτε καινούριο...

    Μετά από πολλές δοκιμές απεγκατάστασης του Express χωρίς επιτυχία... αποφάσισα να κάνω Restore σε ένα Restore Point της περασμένης εβδομάδας....

    Μετά από αυτό πάλι ειχα πρόβλημα: Δεν μπορούσα καν να εκκινήσω το service του SqlExpress... με ένα μύνημα λάθους κατά την εκκίνηση του λειτουργικού...
    "Your SQL Server installation is eigher corrupt or has been tampered with (could not open SQLEVN70.rll). Please uninstall then re-run Setup to correct this problem."

    Tρέχοντας πάλι το Setup μου έβγαζε λάθη οτι δεν μπορεί να το κάνει κλπ κλπ....

    Σκοτώνοντας το service από το registry... αυτό πάλι κατά την εκκίνηση εμφανιζόταν... Το μύνημα λάθος δεν έβγαινε μόνο αν το έκανα disable.

    Φυσικά ούτε λόγος για απεκγατάσταση.... δεν γινόταν με ΤΙΠΟΤΑ!!!

    Για να μην σας κουράζω... τελικά, έκανα τα εξής:
    Απεγκατάσταση ΟΛΕΣ τις εκδόσεις του SQL Server,... με το ζόρι...
    Τι σημαίνει με το ζόρι?
    Χμ....
    Σκότωσα όλα τα services.
    Διέγραψα όλα τα αρχεία.
    Έτρεξα ένα πρόγραμμα "ισιώματος" του registry για αρχεία που δεν υπάρχουν πια!

    Έκανα εγκατάσταση από την αρχή ΜΟΝΟ τον 2005,... (δεν μπορώ να πω χωρίς προβλήματα... ) αλλά τελικά όλα δουλέψανε καλά!!



    Nothing to declare...
  •  24-08-2007, 13:54 34474 σε απάντηση της 34472

    Απ: Μα... να μην μπορώ να κάνω restore!!!

    Όσα περιγράφεις είναι μάλλον υπερβολικά. Κάτι πολύ στραβό έγινε είτε στην αρχική εγκατάσταση του 2005 Express είτε με τις ενέργειες που έκανες μετά. Έχω στήσει πολλές φορές SQL Server 2000 και 2005, κανονικό ή Express, μεμονωμένα ή όλα μαζί. Εδικά στα Virtual Machines που χρησιμοποιώ για demo ή για ανάπτυξη με το Sharepoint 2007 μπορούν να υπάρχουν όλα αυτά μαζί.

    Κατ' αρχάς το setup ανέφερε οτι όλα πήγαν καλά, αλλά πουθενά δεν υπήρχε το πρόγραμμα του SQL Server Express για να το τρέξω... το μόνο που υπήρχε ήτανε η παλιά εγκατάσταση,... χωρίς τίποτε καινούριο...

    Αν εννοείς ότι δεν έβρισκες το SQL Server Management Studio, όντως, ο Express δεν το περιλαμβάνει. Αν εγκαταστήσεις την απλή έκδοση του, το μόνο εργαλείο που εγκαθίσταται είναι το "SQL Server Configuration Manager". Έχει βγει άλλη έκδοση του Management Studio ειδικά για τον Express. Περιλαμβάνεται στο πακέτο SQL Server Express 2005 with Advanced Services, η οποία είναι περίπου 200 MB.

    Εξάλλου, δεν μπορείς να εγκαταστήσεις σαν default instance τον 2005 σε μηχάνημα όπου ήδη υπάρχει άλλο default instance. Τα Instances μπορείς να τα δεις πολύ εύκολα και από το "SQL Server Configuration Manager" το οποίο εγκαθίσταται από τον SQL Server Express αλλά και από τα Services. Κάθε instance είναι ένα διαφορετικό service και περιέχει και το όνομα του instance. Επιπλέον, όταν εγκαθιστάς ένα instance, τα αρχεία του αποθηκεύονται σε διαφορετικό folder από τα άλλα instances. Από μόνη της η εγκατάσταση δεν μπορεί να προκαλέσει αυτά που περιγράφεις.
    Κατά κανόνα, όταν εγκαθίσταται ο SQL Server Express δημιουργεί ένα instance με όνομα SQLEXPRESS. Συνεπώς για να συνδεθείς στον Express του τοπικού σου μηχανήματος θα πρέπει να δώσεις το όνομα localhost\SQLEXPRESS ή mylaptop\SQLEXPRESS ή .\SQLEXPRESS. Αν βέβαια επιλέξεις διαφορετικό όνομα instance κατά την εγκατάσταση, θα πρέπει να χρησιμοποιήσεις το όνομα αυτό.

    Όσον αφορά το System Restore, δεν κρατάει αντίγραφο ολόκληρου του σκληρού παρά μόνο των σημαντικών system αρχείων. Κάνοντας restore ουσιαστικά διέγραψες κάποια dll ενώ άφησες κάποια αρχεία ενώ άφησες άλλα στη θέση τους.


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  24-08-2007, 14:47 34475 σε απάντηση της 34474

    Απ: Μα... να μην μπορώ να κάνω restore!!!

    Δεν αμφιβάλλω βέβαια οτι δεν μπορούν να συνυπάρχουν SQL 2000 , 2005,... απλά εγώ ξεκίνησα με ένα συγκεκριμένο πρόβλημα, το οποίο ανέφερα στην αρχή του Post.... μη λέω όλο τα ίδια Geeked ....

    Αυτό το πρόβλημα δεν κατάφερα να το ξεπεράσω με επανεγκαταστάσεις κλπ... μιας και δεν με άφηνε...
    Το θέμα δεν είναι αν έκανα εγώ κάτι "πολύ στραβό" ή η Microsoft... αλλά το οτι,... δεδομένων των προβλημάτων μου,... με το παραπάνω "workaround" -> (ο Θεός να το κάνει),... κατέληξα στο επιθυμιτό αποτέλεσμα....

    PS: Αν ρίξεις μια ματιά στο net (με βάση τα error messages που περιγράφω) θα δείς οτι το ίδιο στραβό με εμένα, έκαναν και πολλοί άλλοι.... Stick out tongue

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