Μήνυμα λάθους όταν προσπαθείτε να αποθηκεύσετε έναν πίνακα του SQL Server 2008: "Αποθήκευση αλλαγών δεν επιτρέπεται"

Μεταφράσεις άρθρων Μεταφράσεις άρθρων
Αναγν. άρθρου: 956176 - Δείτε τα προϊόντα στα οποία αναφέρεται το συγκεκριμένο άρθρο.
Ανάπτυξη όλων | Σύμπτυξη όλων

Σε αυτήν τη σελίδα

Συμπτώματα

Όταν χρησιμοποιείτε γλώσσα ορισμού δεδομένων (DDL) για να τροποποιήσετε έναν πίνακα, και στη συνέχεια προσπαθήστε να αποθηκεύσετε τον πίνακα Microsoft SQL Server 2008, ενδέχεται να λάβετε το ακόλουθο μήνυμα:
Δεν επιτρέπεται η αποθήκευση των αλλαγών. Οι αλλαγές που έχετε κάνει απαιτούν οι παρακάτω πίνακες για να κλείσει και ξανά. Έχετε κάνει αλλαγές σε έναν πίνακα που δεν είναι δυνατό να αναδημιουργηθούν ή να ενεργοποιήσει την επιλογή αποτροπή αποθηκεύσετε τις αλλαγές που απαιτούν τον πίνακα για να δημιουργηθεί εκ νέου.

Αιτία

Αυτό το ζήτημα παρουσιάζεται όταν το Αποτρέψετε την αποθήκευση των αλλαγών που απαιτούν την αναδημιουργία του πίνακα η επιλογή είναι ενεργοποιημένη και κάνετε μία ή περισσότερες από τις ακόλουθες αλλαγές στον πίνακα:
  • Μπορείτε να αλλάξετε το Επιτρέπει τιμές null ρύθμιση για μια στήλη.
  • Αναδιάταξη στηλών στον πίνακα.
  • Μπορείτε να αλλάξετε τον τύπο δεδομένων της στήλης.
  • Μπορείτε να προσθέσετε μια νέα στήλη.
Κατά την αλλαγή ενός πίνακα ώστε να τροποποιήσει τη δομή της μετα-δεδομένα του πίνακα και στη συνέχεια αποθηκεύστε τον πίνακα, ο πίνακας πρέπει να εκ νέου με βάση αυτές τις αλλαγές. Αυτό μπορεί να έχει ως αποτέλεσμα την απώλεια των μεταδεδομένων και άμεση απώλεια δεδομένων κατά την αναδημιουργία του πίνακα. Εάν ενεργοποιήσετε την Αποτρέψετε την αποθήκευση των αλλαγών που απαιτούν την αναδημιουργία του πίνακα επιλογή με το Σχεδιαστής ενότητα από το Επιλογές του SQL Server διαχείρισης Studio (SSMS) παράθυρο, λαμβάνετε το μήνυμα λάθους που αναφέρεται στην ενότητα "Συμπτώματα".

Εναλλακτικός τρόπος αντιμετώπισης

Για να επιλύσετε αυτό το ζήτημα, χρησιμοποιήστε προτάσεις Transact-SQL για τις αλλαγές στη δομή της μετα-δεδομένων ενός πίνακα.

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

Κατάσταση

Microsoft έχει επιβεβαιώσει ότι πρόκειται για σφάλμα σε προϊόντα της Microsoft που παρατίθενται στην ενότητα "Ισχύει για".

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

Για να αλλάξετε το Αποτρέψετε την αποθήκευση των αλλαγών που απαιτούν την αναδημιουργία του πίνακα επιλογή, ακολουθήστε τα εξής βήματα:
  1. Ανοίξτε το SQL Server Management Studio (SSMS).
  2. Από το Εργαλεία μενού, κάντε κλικ στο κουμπί Επιλογές.
  3. Στο παράθυρο πλοήγησης, το Επιλογές το παράθυρο, κάντε κλικ στο κουμπί Οι σχεδιαστές.
  4. Επιλέξτε ή καταργήστε την επιλογή του Αποτρέψετε την αποθήκευση των αλλαγών που απαιτούν την αναδημιουργία του πίνακα το πλαίσιο ελέγχου και στη συνέχεια κάντε κλικ στο κουμπί OK.
Σημείωση Εάν απενεργοποιήσετε αυτήν την επιλογή, δεν θα προειδοποιούνται όταν αποθηκεύσετε τον πίνακα τις αλλαγές που πραγματοποιήσατε έχουν αλλάξει τη δομή της μετα-δεδομένα του πίνακα. Στην περίπτωση αυτή, ενδέχεται να προκύψει απώλεια δεδομένων όταν αποθηκεύετε τον πίνακα.

Κίνδυνος απενεργοποιώντας την επιλογή "Αποτροπή αποθηκεύσετε τις αλλαγές που απαιτούν αναδημιουργία του πίνακα"

Παρότι η απενεργοποίηση αυτής της επιλογής μπορεί να σας βοηθήσουν να αποφύγετε επαναδημιουργίας ενός πίνακα, μπορεί να οδηγήσει επίσης σε αλλαγές που χάθηκαν. Για παράδειγμα, ας υποθέσουμε ότι κάνετε ενεργοποίηση της δυνατότητας Παρακολούθηση αλλαγών στον SQL Server 2008 για να παρακολουθείτε τις αλλαγές στον πίνακα. Όταν εκτελείτε μια λειτουργία που προκαλεί τον πίνακα για να αναδημιουργηθούν, λαμβάνετε το μήνυμα λάθους που αναφέρεται στην ενότητα "Συμπτώματα". Ωστόσο, εάν απενεργοποιήσετε αυτήν την επιλογή, η αλλαγή υπάρχουσες πληροφορίες παρακολούθησης διαγράφεται όταν δημιουργείται ξανά τον πίνακα. Επομένως, συνιστούμε ότι δεν εργάζεστε γύρω από αυτό το ζήτημα, απενεργοποιώντας την επιλογή.

Για να εξακριβώσετε αν είναι ενεργοποιημένη η δυνατότητα παρακολούθησης αλλαγών για έναν πίνακα, ακολουθήστε τα εξής βήματα:
  1. Στο SQL Server Management Studio, εντοπίστε τον πίνακα σε Το αντικείμενο Explorer.
  2. Κάντε δεξιό κλικ στον πίνακα και στη συνέχεια κάντε κλικ στο κουμπί Ιδιότητες.
  3. Με το Ιδιότητες πίνακα στο παράθυρο διαλόγου, κάντε κλικ στο κουμπί Παρακολούθηση αλλαγών.
Εάν η τιμή του Παρακολούθηση αλλαγών είναι το στοιχείο TRUE, αυτή η επιλογή είναι ενεργοποιημένη για τον πίνακα. Εάν η τιμή είναι FALSE, αυτή η επιλογή είναι απενεργοποιημένη.

Όταν είναι ενεργοποιημένη η δυνατότητα παρακολούθησης αλλαγή, χρησιμοποιήστε τις προτάσεις Transact-SQL για να αλλάξετε τη δομή της μετα-δεδομένα του πίνακα.

Βήματα για την αναπαραγωγή του προβλήματος

  1. Στο SQL Server Management Studio, δημιουργήστε έναν πίνακα που περιέχει ένα πρωτεύον κλειδί για το εργαλείο "Σχεδίαση πίνακα".
  2. Κάντε δεξιό κλικ στη βάση δεδομένων που περιέχει αυτόν τον πίνακα και στη συνέχεια κάντε κλικ στο κουμπί Ιδιότητες.
  3. Με το Ιδιότητες βάσης δεδομένων στο παράθυρο διαλόγου, κάντε κλικ στο κουμπί Παρακολούθηση αλλαγών.
  4. Ορίστε την τιμή της Παρακολούθηση αλλαγών στοιχείο TRUE, και στη συνέχεια κάντε κλικ στο κουμπί OK.
  5. Κάντε δεξιό κλικ στον πίνακα και στη συνέχεια κάντε κλικ στο κουμπί Ιδιότητες.
  6. Με το Ιδιότητες πίνακα στο παράθυρο διαλόγου, κάντε κλικ στο κουμπί Παρακολούθηση αλλαγών.
  7. Ορίστε την τιμή της Παρακολούθηση αλλαγών στοιχείο TRUE, και στη συνέχεια κάντε κλικ στο κουμπί OK.
  8. Από το Εργαλεία μενού, κάντε κλικ στο κουμπί Επιλογές.
  9. Με το Επιλογές στο παράθυρο διαλόγου, κάντε κλικ στο κουμπί Οι σχεδιαστές.
  10. Κάντε κλικ για να επιλέξετε το Αποτρέψετε την αποθήκευση των αλλαγών που απαιτούν αναδημιουργία πίνακα το πλαίσιο ελέγχου και στη συνέχεια κάντε κλικ στο κουμπί OK.
  11. Στο εργαλείο "Σχεδίαση πίνακα", αλλάξτε το Επιτρέπει τιμές null ρύθμιση σε μια υπάρχουσα στήλη.
  12. Προσπαθήστε να αποθηκεύσετε την αλλαγή στον πίνακα.

Ιδιότητες

Αναγν. άρθρου: 956176 - Τελευταία αναθεώρηση: Κυριακή, 29 Μαΐου 2011 - Αναθεώρηση: 4.0
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Express with Advanced Services
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Web
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2008 R2 Express with Advanced Services
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Standard Edition for Small Business
  • Microsoft SQL Server 2008 R2 Web
  • Microsoft SQL Server 2008 R2 Workgroup
Λέξεις-κλειδιά: 
kbsqlsetup sql2008relnotetools sql2008relnote kbprb kbmt KB956176 KbMtel
Μηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:956176

Αποστολή σχολίων

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com