Μετάβαση στο κύριο περιεχόμενο
Υποστήριξη
Είσοδος με Microsoft
Είσοδος ή δημιουργία λογαριασμού.
Γεια σας,
Επιλέξτε διαφορετικό λογαριασμό.
Έχετε πολλούς λογαριασμούς
Επιλέξτε τον λογαριασμό με τον οποίο θέλετε να εισέλθετε.

Σφάλμα #: 490 (SQL επείγουσας επιδιόρθωσης)

Σύνοψη

Κατά την προσπάθειά σας να αναβαθμίσετε ή να υποβαθμίσει συγκρότηση για κοινή γλώσσα χρόνου εκτέλεσης (CLR) αντικείμενο σε μια παρουσία του Microsoft SQL Server 2005, δεν μπορείτε να αλλάξετε την έκδοση του τις συγκροτήσεις στις οποίες στα μεταδεδομένα της συγκρότησης. Επιπλέον, εάν χρησιμοποιείτε ισχυρά ονοματοδοτημένης συγκρότησης για ένα αντικείμενο CLR, δεν μπορείτε να υποβιβάσετε το συγκρότημα χρησιμοποιώντας την πρόταση ΤΡΟΠΟΠΟΊΗΣΗ ΣΥΓΚΡΌΤΗΣΗΣ.

ΕΙΣΑΓΩΓΗ

Αυτό το άρθρο περιγράφει πώς μπορείτε να αναβαθμίσετε ή να υποβαθμίσει μιας συγκρότησης που έχει μια αναφερόμενη συγκρότηση για ένα αντικείμενο CLR σε μια παρουσία του SQL Server 2005.

Περισσότερες πληροφορίες

Πώς μπορείτε να αναβαθμίσετε ή να υποβαθμίσει συγκρότηση

Στον SQL Server 2005, μπορείτε να χρησιμοποιήσετε την πρόταση ΣΥΓΚΡΌΤΗΣΗΣ ΤΡΟΠΟΠΟΊΗΣΗ να αναβαθμίσετε ή να υποβαθμίσει ένα αυτόνομο συγκρότηση που δεν δημιουργήθηκε με ισχυρό όνομα. Ισχυρά ονοματοδοτημένης συγκρότησης, μπορείτε να κάνετε αναβάθμιση αλλά δεν είναι δυνατό να υποβαθμίσει τη συγκρότηση χρησιμοποιώντας την πρόταση ΤΡΟΠΟΠΟΊΗΣΗ ΣΥΓΚΡΌΤΗΣΗΣ.

Δεν είναι δυνατό να αναβαθμίσετε ή να υποβαθμίσει μια συγκρότηση στο εξής σενάριο:

  • Α η συγκρότηση δημιουργείται για ένα αντικείμενο CLR σε μια παρουσία. Συγκρότηση A έχει μια αναφερόμενη συγκρότηση. Η αναφερόμενη συγκρότηση είναι συγκρότηση β.

  • Συγκρότηση Β έχει δεν υπάρχει αναφερόμενη συγκρότηση.

  • Μπορείτε να μεταγλωττίσετε ξανά συγκρότησης A για να αναφερθείτε σε μια διαφορετική έκδοση της συγκρότησης β.

Σε αυτό το σενάριο, μπορείτε να χρησιμοποιήσετε την πρόταση ΤΡΟΠΟΠΟΊΗΣΗ ΣΥΓΚΡΌΤΗΣΗΣ για αναβάθμιση συγκροτήσεων B σε μια νέα έκδοση. Εάν η συγκρότηση B δεν είναι ισχυρά ονοματοδοτημένης συγκρότησης, μπορείτε να επιστρέψετε επίσης μια παλιά έκδοση της συγκρότησης Β. Ωστόσο, δεν μπορείτε να χρησιμοποιήσετε την πρόταση ΣΥΓΚΡΌΤΗΣΗΣ ΤΡΟΠΟΠΟΙΉΣΕΤΕ, να αναβαθμίσετε ή να υποβαθμίσει A συγκρότησης στην έκδοση recompiled.

Αυτή η συμπεριφορά παρουσιάζεται επειδή ο SQL Server δημιουργεί μια πολιτική σύντηξης CLR κατά τη δημιουργία συγκρότησης α. Αυτή η πολιτική σύντηξης CLR αντιστοιχίζει αυτόματα την έκδοση της συγκρότησης Β στα μεταδεδομένα της συγκρότησης A στην πραγματική έκδοση της συγκρότησης B. SQL Server φορτώνει τη νέα έκδοση της συγκρότησης Β κατά το χρόνο εκτέλεσης όταν κάνετε αναβάθμιση ή υποχαρακτηρίζουν συγκρότησης B σε κάποια άλλη έκδοση. Αυτή η συμπεριφορά παρουσιάζεται ακόμα και όταν η συγκρότηση Α αναφέρεται στην αρχική έκδοση της συγκρότησης β. Ωστόσο, όταν προσπαθείτε να αναβαθμίσετε ή να υποβαθμίσει συγκρότηση Α, όταν μια συγκρότηση περιλαμβάνει μια νέα έκδοση της συγκρότησης Β στα μεταδεδομένα, η εντολή ΤΡΟΠΟΠΟΊΗΣΗ ΣΥΓΚΡΌΤΗΣΗΣ θα αποτύχει και λαμβάνετε μηνύματα λάθους παρόμοια με τα ακόλουθα:

Μήνυμα σφάλματος 1

Msg 6529, επίπεδο 16, κατάσταση 1, γραμμή 1

ΤΡΟΠΟΠΟΊΗΣΗ ΣΥΓΚΡΌΤΗΣΗΣ απέτυχε, επειδή έχει αλλάξει η ταυτότητα του αναφερόμενη συγκρότηση 'RefAsm'. Βεβαιωθείτε ότι η έκδοση, το όνομα και το δημόσιο κλειδί δεν έχουν αλλάξει.

Μήνυμα σφάλματος 2

Msg 6282, επίπεδο 16, κατάσταση 1, γραμμή 1

ΤΡΟΠΟΠΟΊΗΣΗ ΣΥΓΚΡΌΤΗΣΗΣ απέτυχε, επειδή το συγκροτήσεις στις οποίες πρέπει να αλλάξετε. Η αναφερόμενη συγκρότηση λίστα πρέπει να παραμένουν τα ίδια.

Αναβάθμιση ή να υποβαθμίσει τη συγκρότηση

Σημειώσεις

  • Αυτά τα βήματα αναβάθμισης ή υποχαρακτηρίζουν Α συγκρότηση στο σενάριο που περιγράφηκε στην ενότητα "Τρόπος να αναβαθμίσετε ή να υποβαθμίσει συγκρότηση".

  • Το παράδειγμα αυτό θεωρεί ότι οι εκδόσεις των δύο συγκροτημάτων είναι 1.0.0.0 και οι συγκροτήσεις που είναι γραμμένη σε C#. Όταν ακολουθείτε αυτά τα βήματα, προσπαθείτε να κάνετε αναβάθμιση της συγκρότησης Α και Β η συγκρότηση έκδοση 2.0.0.0.

Για να αναβαθμίσετε ή να υποβαθμίσει συγκρότησης A, ακολουθήστε τα εξής βήματα.

  1. Δημιουργήστε αντίγραφα ασφαλείας έκδοση 1.0.0.0 της συγκρότησης B σε ένα φάκελο.

  2. Τροποποίηση και στη συνέχεια να μεταγλωττίσετε ξανά συγκρότησης B έκδοση 2.0.0.0.

  3. Χρησιμοποιήστε την πρόταση ΣΥΓΚΡΌΤΗΣΗΣ ΤΡΟΠΟΠΟΊΗΣΗ για να αναβαθμίσετε τη συγκρότηση Β στον SQL Server 2005.

  4. Τροποποίηση και στη συνέχεια να μεταγλωττίσετε ξανά συγκρότησης A σε έκδοση 2.0.0.0. Όταν το κάνετε αυτό, αναφορά έκδοση 1.0.0.0 της συγκρότησης Β από το αντίγραφο ασφαλείας που δημιουργήσατε στο βήμα 1. Για να γίνει αυτό, χρησιμοποιήστε το εργαλείο πρόγραμμα μεταγλώττισης Csc.exe μαζί με το διακόπτη/Reference . Για παράδειγμα, χρησιμοποιήστε την ακόλουθη εντολή:

    CSC /target:library/out:AssemblyA.dll AssemblyA.cs AssemblyInfo.cs/Reference: "BackupFolder\AssemblyB.dll"Σημείωση Για να επαληθεύσετε την έκδοση της συγκρότησης Β στα μεταδεδομένα του συγκροτήματος A, ανοίξτε A συγκρότησης χρησιμοποιώντας το βοηθητικό πρόγραμμα Ildasm.exe. Στη συνέχεια, επαληθεύστε τις πληροφορίες μετα-δεδομένων για συγκρότησης που αναφέρεται στην ενότητα " ΔΉΛΩΣΗ ".

  5. Χρησιμοποιήστε την πρόταση ΣΥΓΚΡΌΤΗΣΗΣ ΤΡΟΠΟΠΟΊΗΣΗ για να αναβαθμίσετε A συγκρότησης στον SQL Server 2005.

Πώς να υποβαθμίσει ισχυρά ονοματοδοτημένης συγκρότησης

Εάν χρησιμοποιείτε ισχυρά ονοματοδοτημένης συγκρότησης για ένα αντικείμενο CLR, SQL Server 2005 δεν υποστηρίζει τη χρήση της δήλωσης ΣΥΓΚΡΌΤΗΣΗΣ ΤΡΟΠΟΠΟΊΗΣΗ για την ανακατάταξη των συγκροτήσεων. Εάν προσπαθείτε να υποβαθμίσει την έκδοση μιας συγκρότησης χρησιμοποιώντας την πρόταση ΤΡΟΠΟΠΟΊΗΣΗ ΣΥΓΚΡΌΤΗΣΗΣ, λαμβάνετε ένα μήνυμα λάθους παρόμοιο με το ακόλουθο:

Msg 6579, επίπεδο 16, κατάσταση 1, γραμμή 1
Τροποποίηση της συγκρότησης από ' Asm1, έκδοση = 1.1.0.0, κουλτούρα = ουδέτερη, publickeytoken = 3a52b896cff0513d, processorarchitecture = MSIL δεν ' σε ' Asm1, έκδοση = 1.0.0.0, κουλτούρα = ουδέτερη, publickeytoken = 3a52b896cff0513d, processorarchitecture = MSIL δεν ' δεν είναι ένα συμβατό αναβάθμιση.

Όταν θέλετε να υποβαθμίσει ισχυρά ονοματοδοτημένης συγκρότησης, ακολουθήστε τα εξής βήματα:

  1. Κατάργηση όλων των αντικειμένων που εξαρτώνται από τη συγκρότηση.

  2. Αποθέστε τη νεότερη έκδοση της συγκρότησης.

  3. Δημιουργήστε την παλαιότερη έκδοση της συγκρότησης.

  4. Δημιουργήστε όλα τα απαραίτητα αντικείμενα που εξαρτώνται από τη συγκρότηση.

Σημείωση Μπορείτε να αναβαθμίσετε ένα ισχυρά ονοματοδοτημένης συγκρότησης χρησιμοποιώντας την πρόταση ΤΡΟΠΟΠΟΊΗΣΗ ΣΥΓΚΡΌΤΗΣΗΣ. Ωστόσο, εάν η αναβάθμιση περιλαμβάνει μια αναφερόμενη συγκρότηση, πρέπει να ακολουθήσετε τα ίδια βήματα που παρατίθενται στην ενότητα "Αναβάθμιση ή υποβάθμιση συγκρότηση".

Αναφορές

Για περισσότερες πληροφορίες σχετικά με την πρόταση ΤΡΟΠΟΠΟΊΗΣΗ ΣΥΓΚΡΌΤΗΣΗΣ, επισκεφθείτε την ακόλουθη τοποθεσία του Microsoft Developer Network (MSDN) στο Web:

http://msdn2.microsoft.com/en-us/library/ms186711.aspxΓια περισσότερες πληροφορίες σχετικά με το βοηθητικό πρόγραμμα Ildasm.exe, επισκεφθείτε την ακόλουθη τοποθεσία MSDN στο Web:

http://msdn2.microsoft.com/en-us/library/aa309387(VS.71).aspx

Χρειάζεστε περισσότερη βοήθεια;

Θέλετε περισσότερες επιλογές;

Εξερευνήστε τα πλεονεκτήματα της συνδρομής, περιηγηθείτε σε εκπαιδευτικά σεμινάρια, μάθετε πώς μπορείτε να προστατεύσετε τη συσκευή σας και πολλά άλλα.

Οι κοινότητες σάς βοηθούν να κάνετε και να απαντάτε σε ερωτήσεις, να δίνετε σχόλια και να ακούτε από ειδικούς με πλούσια γνώση.

Σας βοήθησαν αυτές οι πληροφορίες;

Πόσο ικανοποιημένοι είστε με τη γλωσσική ποιότητα;
Τι επηρέασε την εμπειρία σας;
Πατώντας "Υποβολή" τα σχόλια σας θα χρησιμοποιηθούν για τη βελτίωση των προϊόντων και των υπηρεσιών της Microsoft. Ο διαχειριστής IT θα έχει τη δυνατότητα να συλλέξει αυτά τα δεδομένα. Δήλωση προστασίας προσωπικών δεδομένων.

Σας ευχαριστούμε για τα σχόλιά σας!

×