Συμπτώματα
Εξετάστε το ακόλουθο σενάριο:
-
Έχετε έναν πολύ μεγάλο πίνακα FILESTREAM.
-
Μπορείτε να εκτελέσετε ένα ερώτημα διαγραφής των γραμμών στον πίνακα FILESTREAM που δημιουργεί ένα δαπανηρό σχέδιο ερωτήματος, όπως ένα που φιλτράρεται από έναν εσωτερικό σύνδεσμο σε έναν άλλο μεγάλο πίνακα στο σύστημα.
-
Η βελτιστοποίηση ερωτήματος επιλέγει ένα πρόγραμμα παράλληλης εκτέλεσης.
Σε αυτό το σενάριο,θα προκύψει ένα ssertion και ενδέχεται να λάβετε μηνύματα σφάλματος που μοιάζουν με τα εξής στο αρχείο καταγραφής σφαλμάτων του SQL Server:
Σφάλμα ημερομηνίας/ώρας SPID SpidNumber : 5553, σοβαρότητα: 20, κατάσταση: 6.
Σφάλμα ημερομηνίας/ώρας SPID SpidNumber εσωτερικό σφάλμα του SQL Server. Η διαχείριση FILESTREAM δεν μπορεί να συνεχίσει με την τρέχουσα εντολή.
Κατάσταση
Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για ένα πρόβλημα στα προϊόντα της Microsoft που παρατίθενται στην ενότητα "ισχύει για".
Επίλυση
Το πρόβλημα διορθώνεται με τις ακόλουθες αθροιστικές ενημερώσεις για τον SQL Server:
Πληροφορίες για τις αθροιστικές ενημερώσεις για τον SQL Server:
Κάθε νέα αθροιστική ενημέρωση για τον SQL Server περιέχει όλες τις επείγουσες επιδιορθώσεις και όλες οι ενημερώσεις κώδικα ασφαλείας που συμπεριλήφθηκαν με την προηγούμενη αθροιστική ενημέρωση. Ανάληψη ελέγχου των πιο πρόσφατων αθροιστικών ενημερώσεων για τον SQL Server:
Λύση
Για ναεπιλύσετε αυτό το ζήτημα,μπορείτε να χρησιμοποιήσετε την ακόλουθη μέθοδο:
Μετακινήστε το ερώτημα INNER JOIN σε μια ξεχωριστή πρόταση και αποθηκεύστε τα αποτελέσματα σε έναν προσωρινό πίνακα. Στη συνέχεια, εκτελέστε το ερώτημα διαγραφής που φιλτράρεται με βάση τις καταχωρήσεις στον προσωρινό πίνακα. Επιπλέον, μπορείτε να αυξήσετε το όριο κόστους για παραλληλισμό για να αναγκάσετε τη βελτιστοποίηση να σειριοποίηση του σχεδίου ερωτήματος.
Για παράδειγμα:
Επιλέξτε RefTable. Alias σε #T από το DB. dbo. OuterTable INNER JOIN DB. dbo. RefTable στο RefTable. Alias = OuterTable. Alias
ΌΠΟΥ OuterTable. Alias > 30006 και OuterTable. Alias < 30010
Διαγραφή από το DB. dbo. Πίνακα Πού βρίσκεται το ψευδώνυμο (επιλογή * από #T)
Αναφορές
Μάθετε περισσότερα σχετικά με την ορολογία που Η Microsoft χρησιμοποιεί για την περιγραφή ενημερώσεων λογισμικού.