ΕΠΙΔΙΌΡΘΩΣΗ: Στήλη δεδομένων ενδέχεται να διαγραφούν όταν ενημερώνετε μια άλλη στήλη μεταβλητού μήκους σε έναν πίνακα μιας βάσης δεδομένων στην αναβάθμιση από το SQL Server 2005

ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο έχει μεταφραστεί χρησιμοποιώντας λογισμικό μηχανικής μετάφρασης της Microsoft και μπορείτε να το διορθώσετε χρησιμοποιώντας την τεχνολογία Community Translation Framework (CTF) (Πλαίσιο μετάφρασης κοινότητας). Η Microsoft παρέχει μηχανική μετάφραση, επεξεργασία μετά τη μηχανική μετάφραση από την κοινότητα και άρθρα μεταφρασμένα από επαγγελματίες προκειμένου να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής βάσης σε πολλές γλώσσες. Τα άρθρα μηχανικής μετάφρασης και αυτά που επεξεργάζονται ύστερα από μηχανική μετάφραση ενδέχεται να περιέχουν σφάλματα στο λεξιλόγιο, στη σύνταξη ή/και στη γραμματική. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες μας. Για περισσότερες πληροφορίες σχετικά με το CTF, μεταβείτε στην τοποθεσία http://support.microsoft.com/gp/machine-translation-corrections/el.

Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη: 3120595
Συμπτώματα
Όταν ενημερώνετε μια τιμή σε μια στήλη μεταβλητού μήκους σε έναν πίνακα μιας βάσης δεδομένων που αναβαθμίστηκε από Microsoft SQL Server 2005, διαγραφή δεδομένων σε μια άλλη στήλη μεταβλητού μήκους στην ίδια γραμμή.

Αυτό το ζήτημα παρουσιάζεται στο Microsoft SQL Server 2014 και 2012 του Microsoft SQL Server. Το ακόλουθο σενάριο μπορεί να εκθέσει μια βάση δεδομένων με αυτό το θέμα. Αυτή η λίστα αντιπροσωπεύει μια ακολουθία συμβάντων:

  • Δημιουργείται μια βάση δεδομένων του SQL Server 2005.
  • Στον SQL Server 2005, μπορείτε να τροποποιήσετε έναν πίνακα και, στη συνέχεια, αποθέστε μία ή περισσότερες στήλες μεταβλητού μήκους στο τέλος του ορισμού πίνακα.
  • Μπορείτε να προσθέσετε νέες στήλες μεταβλητού μήκους που έχουν παρόμοιο τύπο δεδομένων και το μήκος των στηλών που απορρίφθηκαν.
  • Η βάση δεδομένων έχει αναβαθμιστεί από το SQL Server 2005 σε SQL Server 2014 ή 2012 του SQL Server.
  • Αργότερα μπορείτε να ενημερώσετε την τιμή μιας άλλης στήλης μεταβλητού μήκους και τα ενημερωμένα δεδομένα πρέπει να υπερχειλίζουν σε μια νέα σελίδα.
Σε αυτό το σενάριο, ενδέχεται να διαγραφούν τα δεδομένα σε μία ή περισσότερες στήλες που προσθέσατε πρόσφατα στην ίδια γραμμή.

Μπορείτε να χρησιμοποιήσετε τη δέσμη ενεργειών με το Περισσότερες πληροφορίες ενότητα για να επαληθεύσετε τα εξής:

  • Εάν οι πίνακες σε μια βάση δεδομένων έχετε διαγράψει στήλες μεταβλητού μήκους
  • Αν πρόσθετες στήλες μεταβλητού μήκους έχουν δημιουργηθεί που έχουν αντίστοιχες αποκλίσεις
Σημείωση Αυτό το ζήτημα δεν έχει εντοπιστεί από DBCC CHECKDB.
Προτεινόμενη αντιμετώπιση
Σημείωση Αυτή η επιδιόρθωση αποτρέπει μόνο μελλοντικών εμφανίσεων του ζητήματος.

Σημαντικό Εάν κάνετε αναβάθμιση της βάσης δεδομένων από τον SQL Server 2005 σε SQL Server 2014 ή 2012 του SQL Server, βεβαιωθείτε ότι αναφέρονται στην ενότητα "Εναλλακτικός τρόπος αντιμετώπισης".

Αυτό το ζήτημα επιδιορθώθηκε για πρώτη φορά με την ακόλουθη αθροιστική ενημερωμένη έκδοση για τον SQL Server:

Πρόκειται για τις πιο πρόσφατες αθροιστικές ενημερωμένες εκδόσεις για αυτές τις εκδόσεις του προγράμματος.

Σύσταση: Εγκαταστήστε την πιο πρόσφατη αθροιστική ενημερωμένη έκδοση για SQL Server 2014 ή SQL Server 2012

Εγκαταστήστε το κάθε νέα αθροιστική ενημερωμένη έκδοση για το SQL Server περιέχει όλες τις επείγουσες επιδιορθώσεις και όλες διορθώνει την ασφάλεια, που περιλαμβάνονταν με την προηγούμενη αθροιστική ενημερωμένη έκδοση. Αποσύρετε τις πιο πρόσφατες αθροιστικές ενημερωμένες εκδόσεις για τον SQL Server:



Σημείωση Για περισσότερες πληροφορίες σχετικά με τις πιο πρόσφατες εκδόσεις SQL Server, ανατρέξτε στο θέμα Πού θα βρείτε πληροφορίες σχετικά με το πιο πρόσφατο διακομιστή SQL δημιουργεί.
Εναλλακτικός τρόπος αντιμετώπισης
Σημαντικό Εφαρμόσετε αυτόν τον εναλλακτικό τρόπο αντιμετώπισης κατά την αναβάθμιση της βάσης δεδομένων από τον SQL Server 2005, SQL Server 2014 ή 2012 του SQL Server και πριν να επιτρέψετε δηλώσεις UPDATE να εκτελεστεί στην αναβαθμισμένη βάση δεδομένων.

Για να επιλύσετε αυτό το ζήτημα Εάν αποθέσετε στήλες σε έναν πίνακα, βεβαιωθείτε ότι θα κάνετε ένα από τα ακόλουθα πριν ενημερώσετε ή να διαγράψετε γραμμές:

  • Δημιουργήστε ξανά το ευρετήριο συμπλέγματος, χρησιμοποιώντας ΤΡΟΠΟΠΟΊΗΣΗ ΕΥΡΕΤΗΡΊΟΥ (...) ΑΝΑΔΌΜΗΣΗ των
  • Δημιουργήστε ξανά το heap χρησιμοποιώντας ALTER TABLE (...) ΑΝΑΔΌΜΗΣΗ των

Περισσότερες πληροφορίες
Μπορείτε να χρησιμοποιήσετε την ακόλουθη δέσμη ενεργειών για να επαληθεύσετε αν οι πίνακες σε μια βάση δεδομένων έχετε διαγράψει στήλες που επηρεάζονται από αυτό το ζήτημα πιθανώς.

Σημείωση Εάν η δέσμη ενεργειών δεν επιστρέφει τις γραμμές, που σημαίνει ότι αυτό το θέμα που εφαρμόζεται σε κάθε πίνακα στο σύστημά σας.
SELECT DISTINCT OBJECT_NAME(sp.[object_id]) AS TableWithDroppedColsFROM sys.system_internals_partition_columns sipc1 WITH (NOLOCK)INNER JOIN sys.system_internals_partition_columns sipc2 WITH (NOLOCK)       ON sipc1.[partition_id] = sipc2.[partition_id] AND              sipc1.leaf_offset = sipc2.leaf_offset AND              sipc1.leaf_offset < 0 AND               sipc1.is_dropped < sipc2.is_droppedINNER JOIN sys.partitions sp WITH (NOLOCK) ON sipc1.[partition_id] = sp.[partition_id];

Σημαντικό Αυτή η δέσμη ενεργειών πρέπει να χρησιμοποιείται μόνο για το σκοπό και το πεδίο εφαρμογής του παρόντος άρθρου.
Κατάσταση
Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για ένα ζήτημα των προϊόντων της Microsoft που παρατίθενται στην ενότητα "Ισχύει για".

Προειδοποίηση: Αυτό το άρθρο έχει μεταφραστεί αυτόματα

Eigenschaften

Artikelnummer: 3120595 – Letzte Überarbeitung: 05/31/2016 09:06:00 – Revision: 13.0

Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Standard, Microsoft SQL Server 2014 Service Pack 1, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Standard

  • kbqfe kbfix kbexpertiseinter kbsurveynew kbmt KB3120595 KbMtel
Feedback