Συμπτώματα
Ας υποθέσουμε ότι έχετε έναν πίνακα του Microsoft SQL Server που έχει ένα ή περισσότερα ευρετήρια χτισμένα επάνω του. Όταν πραγματοποιείτε ερώτημα έναντι του πίνακα, ο SQL Server μπορεί να εκτελεί ασυνεπή αναπλήρωση δεδομένων για στήλες CHAR και BINARY. Η ασυνεπής συμπεριφορά για την επιστροφή των τελικών κενών στο τέλος των στηλών CHAR και ΔΥΑΔΙΚών δεδομένων εξαρτάται από τις ακόλουθες συνθήκες:
-
Οι ρυθμίσεις του ANSI_PADDING όταν δημιουργούνται στήλες στον πίνακα του SQL Server.
-
Η απόφαση για την εκτέλεση είτε της σάρωσης πίνακα είτε της αναζήτησης ευρετηρίου στις στήλες.
Αιτία
Σε ορισμένα σενάρια, ο SQL Server μπορεί να πραγματοποιήσει μια βελτιστοποίηση που του επιτρέπει να παρακάμπτει πολλές λειτουργίες για ταχύτερη παράδοση δεδομένων. Το πρόβλημα παρουσιάζεται επειδή ο SQL Server δεν αναγνωρίζει ότι δεν είναι δυνατή η εφαρμογή της βελτιστοποίησης για το παραπάνω σενάριο.
Περισσότερες πληροφορίες
Αυτή η συμπεριφορά του SQL Server δεν συμμορφώνεται με τη συμπεριφορά που τεκμηριώνεται στο ακόλουθο άρθρο: χρήση δεδομένων CHAR και varchar.
Εάν το ANSI_PADDING είναι ΕΝΕΡΓΟΠΟΙΗΜΈΝΟ κατά τη δημιουργία μιας στήλης char NULL, συμπεριφέρεται ίδια με τη στήλη "char NOT NULL": οι τιμές έχουν δικαίωμα παραγεμισμένου με το μέγεθος της στήλης. Εάν το ANSI_PADDING είναι ΑΠΕΝΕΡΓΟΠΟΙΗΜΈΝΟ κατά τη δημιουργία μιας στήλης char NULL, συμπεριφέρεται όπως μια στήλη varchar με ANSI_PADDING συμπίπτει: τα τελικά κενά περικόπτονται.
Επίλυση
Αυτό το ζήτημα διορθώνεται με τις ακόλουθες αθροιστικές ενημερώσεις για τον SQL Server:
Αθροιστική ενημερωμένη έκδοση 2 για τον SQL Server 2017
Αθροιστική ενημερωμένη έκδοση 9 για τον SQL Server 2016
Αθροιστική ενημερωμένη έκδοση 6 για τον SQL Server 2016 SP1
Κάθε νέα αθροιστική ενημέρωση για τον SQL Server περιέχει όλες τις επείγουσες επιδιορθώσεις και όλες τις επιδιορθώσεις ασφαλείας που συμπεριλήφθηκαν στην προηγούμενη αθροιστική ενημέρωση. Ανάληψη ελέγχου των πιο πρόσφατων αθροιστικών ενημερώσεων για τον SQL Server:
Η πιο πρόσφατη αθροιστική ενημέρωση για τον SQL Server 2017
Κατάσταση
Η Microsoft έχει επιβεβαιώσει ότι αυτό είναι ένα πρόβλημα στα προϊόντα της Microsoft που παρατίθενται στην ενότητα "ισχύει για"
Αναφορές
Μάθετε περισσότερα σχετικά με την ορολογίαπου χρησιμοποιεί η Microsoft για την περιγραφή ενημερώσεων λογισμικού.