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

Συμπτώματα

Εξετάστε το ακόλουθο σενάριο:

  • Έχετε δύο χωρισμένους πίνακες στον Microsoft SQL Server 2014 και τα διαμερίσματα του πρώτου πίνακα αντιστοιχίζονται σε διαφορετικά αρχεία και filegroups, χρησιμοποιώντας τον ίδιο συνδυασμό και τη συνάρτηση partition.

  • Μπορείτε να αλλάξετε ένα από αυτά τα διαμερίσματα στον δεύτερο πίνακα και, στη συνέχεια, να περικόψετε τον δεύτερο πίνακα.

  • Μπορείτε να αποθέσετε αρχεία και filegroups που έχουν αντιστοιχιστεί στο μεταστρεφόμενες διαμέρισμα.

  • Μπορείτε να εκτελέσετε μια πρόταση SELECT στον δεύτερο πίνακα.

Σε αυτό το σενάριο, λαμβάνετε το ακόλουθο μήνυμα σφάλματος:

MSG 606, επίπεδο 21, κατάσταση 1Metadata ασυνέπεια. Το αναγνωριστικό αρχείων<αρχείων id> που έχει καθοριστεί για το όνομα πίνακα <πίνακα> δεν υπάρχει. Εκτελέστε την εντολή DBCC CHECKDB ή CHECKCATALOG.

Όταν εκτελείτε DBCC CHECKDB/CHECKTABLE, λαμβάνετε το ακόλουθο μήνυμα σφάλματος:

Δεν είναι δυνατή η επεξεργασία του ευρετηρίου <IndexName> του πίνακα <TableName> επειδή το αρχείων (αρχείων ID <FileGroupNumber>) δεν είναι έγκυρο.

Επίλυση

Το πρόβλημα διορθώθηκε για πρώτη φορά με τις ακόλουθες αθροιστικές ενημερώσεις του SQL Server:

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

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

  1. Για να διαπιστώσετε εάν ένα διαμέρισμα έχει μη έγκυρο αρχείων, εκτελέστε το ακόλουθο ερώτημα για να δείτε εάν επιστρέφει ένα αποτέλεσμα:

    SELECT * FROM sys.allocation_units AS au WHERE au.data_space_id NOT IN (SELECT data_space_id FROM sys.filegroups)
  2. Κάντε τον πίνακα με την καταστροφή μετα-δεδομένων ξανά ορατή. Εάν το ερώτημα από το βήμα 1 επιστρέφει ένα αποτέλεσμα, το διαμέρισμα με κατεστραμμένα μετα-δεδομένα δεν σας επιτρέπει να προβάλετε (επιλέξτε * από) οποιεσδήποτε γραμμές στον πίνακα. Για να επιλύσετε αυτό το πρόβλημα, καταργήστε αυτό το κατεστραμμένο διαμέρισμα.Σημείωση Το κατεστραμμένο διαμέρισμα πρέπει να είναι κενό. Διαφορετικά, τα αρχεία και τα αρχείων που υπήρχαν δεν ήταν δυνατό να απορριφθούν ή να διαγραφούν. Για να το κάνετε αυτό, μετακινήστε αυτό το διαμέρισμα σε έναν άλλο πίνακα που χρησιμοποιεί τον ίδιο συνδυασμό διαμέρισης. Αυτός ο πίνακας μπορεί να είναι απλώς ένας εικονικός πίνακας. Χρησιμοποιήστε το container_id από το ερώτημα στο βήμα 1 και αντιστοιχίστε το με το partition_id από το sys. partitions. (Βεβαιωθείτε ότι έχετε σημειώσει την partition_number.) Χρησιμοποιήστε την partition_number για να πραγματοποιήσετε ένα διαμέρισμα αλλαγής πίνακα αλλαγών από τον πίνακα στον οποίο δεν έχει γίνει προβολή στον εικονικό πίνακα. Ο εικονικός πίνακας πρέπει να έχει το ίδιο τμήμα στηλών και να χρησιμοποιεί το ίδιο σχήμα διαμερίσματος. Το ερώτημά σας για να εντοπίσετε το ασυνεπή διαμέρισμα μπορεί να μοιάζει με το εξής:

    SELECT au.container_id, au.data_space_id, p.partition_number FROM sys.partitions AS p JOIN sys.allocation_units AS au ON p.partition_id = au.container_id LEFT JOIN sys.filegroups AS fgs ON fgs.data_space_id = au.data_space_id WHERE object_id = OBJECT_ID('MyTableName') AND fgs.data_space_id IS NULL;
  3. Αντιγράψτε τα δεδομένα από τον πίνακα που βρισκόταν προηγουμένως σε προβολή στη νέα βάση δεδομένων.

Κατάσταση

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

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

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

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

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

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

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

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

×