Συμπτώματα
Ας υποθέσουμε ότι ενεργοποιείτε τη δυνατότητα Αλλαγή καταγραφής δεδομένων (CDC) σε έναν πίνακα για να εκτελέσετε μια σάρωση αρχείου καταγραφής στο Microsoft SQL Server. Η παράμετρος pollinginterval μετατρέπεται από δευτερόλεπτα (s) σε ώρες (h) στην sys.sp_cdc_scan αποθηκευμένη διαδικασία. Ωστόσο, όταν η παράμετρος pollinginterval είναι μεγαλύτερη από μία ώρα (>3600 s), παρατηρείτε ότι το αποτέλεσμα της μετατροπής είναι εσφαλμένο.
δηλώστε @pollinginterval bigint, @seconds bigint, @minutes bigint, @hours bigint
ορισμός @pollinginterval = 3600
επιλέξτε @seconds = @pollinginterval % 60
select @minutes = ((@pollinginterval - @seconds) / 60) % 60
επιλέξτε @hours = (@pollinginterval - (@minutes * 60) - @seconds) / 60
--- Επόμενη προσπάθεια κάτω από τη
γραμμή
--- επιλέξτε @hours = (@pollinginterval - (@minutes * 60) - @seconds) / 60 /60
επιλέξτε @hours, @minutes @seconds
Επίλυση
Αυτό το πρόβλημα έχει διορθωθεί στις ακόλουθες αθροιστικές ενημερώσεις για SQL Server:
Συγκεντρωτική ενημέρωση 12 για SQL Server 2017
Συγκεντρωτική ενημέρωση 3 για SQL Server 2016 SP2
Συγκεντρωτική ενημέρωση 12 για SQL Server 2016 SP1
Κάθε νέα συγκεντρωτική ενημέρωση για SQL Server περιέχει όλες τις άμεσες επιδιορθώσεις και όλες τις επιδιορθώσεις ασφαλείας που περιλαμβάνονταν στην προηγούμενη συγκεντρωτική ενημέρωση. Δείτε τις πιο πρόσφατες συγκεντρωτικές ενημερώσεις για SQL Server:
Τελευταία συγκεντρωτική ενημέρωση για SQL Server 2017
Κατάσταση
Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για πρόβλημα στα προϊόντα της Microsoft που αναφέρονται στην ενότητα "Ισχύει για".
Αναφορές
Ενημερωθείτε σχετικά με την ορολογίαπου χρησιμοποιεί η Microsoft για την περιγραφή ενημερώσεων λογισμικού.