Συμπτώματα
Εξετάστε το ακόλουθο σενάριο:
- Έχετε έναν υπολογιστή που εκτελεί Microsoft SQL Server 2012 ή SQL Server 2014.
- Μπορείτε να δημιουργήσετε έναν ελεγκτή και πολλούς όρους WHERE που είναι μεγαλύτεροι από 3000 byte.
- Προσπαθείτε να ξεκινήσετε τον έλεγχο, χρησιμοποιώντας μια πρόταση ALTER
Σε αυτό το σενάριο, ο έλεγχος δεν ξεκινά και λαμβάνετε το ακόλουθο μήνυμα λάθους:
Σημείωση
Msg 102, επίπεδο 15, κατάσταση 1, αριθμός γραμμής
Εσφαλμένη σύνταξη κοντά στο στοιχείο "SomeStrings".
Msg 25711, επίπεδο 16, κατάσταση 2, αριθμός γραμμής
Απέτυχε η ανάλυση ενός κατηγορήματος συμβάντος.
ΣΗΜΕΙΩΣΗ: Λάβετε υπόψη ότι το ζήτημα εδώ είναι ότι το σφάλμα σύνταξης τίθεται εσφαλμένα στο βήμα 3, όταν προσπαθείτε να ξεκινήσετε την ανίχνευση. Αυτή η επιδιόρθωση επιτρέπει την εμφάνιση του σφάλματος στο σωστό σημείο, στο βήμα 2 όπου ΔΗΜΙΟΥΡΓΕΙΤΕ έναν έλεγχο με όρο WHERE μεγαλύτερο από (>) 3000 χαρακτήρες. Αυτή η επιδιόρθωση δεν αλλάζει το όριο έκφρασης κατηγορήματος WHERE.
Η κατηγορηματική παράσταση εξακολουθεί να περιορίζεται στους 3000 χαρακτήρες. Ανατρέξτε σε predicate_expression στο ακόλουθο άρθρο BOL: ALTER SERVER AUDIT (Transact-SQL).
Επίλυση
Το πρόβλημα διορθώθηκε για πρώτη φορά στην ακόλουθη αθροιστική ενημερωμένη έκδοση του SQL Server.
Αθροιστική ενημέρωση 1 για το SQL Server 2014 /el-gr/help/2931693
Αθροιστική ενημερωμένη έκδοση 7 για SQL Server 2012 SP1 /el-gr/help/2894115
Πληροφορίες σχετικά με τις αθροιστικές ενημερώσεις για SQL Server
Κάθε νέα αθροιστική ενημερωμένη έκδοση για SQL Server περιέχει όλες τις επείγουσες επιδιορθώσεις και όλες τις ενημερώσεις κώδικα ασφαλείας που συμπεριλήφθηκαν με την προηγούμενη αθροιστική ενημερωμένη έκδοση. Δείτε τις πιο πρόσφατες αθροιστικές ενημερώσεις για SQL Server:
- Τελευταία αθροιστική ενημερωμένη έκδοση για το SQL Server 2014
- Τελευταία αθροιστική ενημερωμένη έκδοση για το SQL Server 2012 SP1
Κατάσταση
Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για ένα ζήτημα που αφορά τα προϊόντα της Microsoft που παρατίθενται στην ενότητα "Ισχύει για".