Συμπτώματα
Ας υποθέσουμε ότι έχετε ορίσει αντικείμενα ακολουθίας στο Microsoft SQL Server 2012 ή SQL Server 2014. Όταν εκτελείτε παράλληλα sp_sequence_get_range αποθηκευμένες διαδικασίες συστήματος και τη συνάρτηση NEXT VALUE FOR στο ίδιο αντικείμενο ακολουθίας (για παράδειγμα, σε διαφορετικές ταυτόχρονες συνδέσεις ή σε πολυνηματικές εφαρμογές), δημιουργείται διπλότυπη τιμή ακολουθίας.
Αιτία
Αυτό το ζήτημα παρουσιάζεται εξαιτίας μιας κατάστασης ανταγωνισμού για sp_sequence_get_range σύστημα αποθηκευμένες διαδικασίες και τη συνάρτηση NEXT VALUE FOR όταν εκτελούνται στο ίδιο αντικείμενο ακολουθίας παράλληλα. Και οι δύο διαβάζουν και γράφουν στην τρέχουσα τιμή της γεννήτριας ακολουθίας. Ωστόσο, υπάρχει έλλειψη σωστού μηχανισμού συγχρονισμού μεταξύ τους.
Επίλυση
Πληροφορίες Service Pack
Για να επιλύσετε αυτό το ζήτημα, αποκτήστε το Service Pack 1 για SQL Server 2014.
Για περισσότερες πληροφορίες σχετικά με το SQL Server 2014 Service Pack 1 (SP1), ανατρέξτε στο θέμα σφάλματα που επιδιορθώνονται στο SQL Server 2014 Service Pack 1 .
Αυτό το πρόβλημα διορθώθηκε για πρώτη φορά στην ακόλουθη αθροιστική ενημερωμένη έκδοση του SQL Server.
Αθροιστική ενημερωμένη έκδοση 6 για SQL Server 2014 /el-gr/help/3031047
Αθροιστική ενημερωμένη έκδοση 4 για SQL Server 2012 SP2 /el-gr/help/3007556
Πληροφορίες σχετικά με τις αθροιστικές ενημερώσεις για SQL Server
Κάθε νέα αθροιστική ενημερωμένη έκδοση για SQL Server περιέχει όλες τις επείγουσες επιδιορθώσεις και όλες τις ενημερώσεις κώδικα ασφαλείας που συμπεριλήφθηκαν με την προηγούμενη αθροιστική ενημερωμένη έκδοση. Δείτε τις πιο πρόσφατες αθροιστικές ενημερώσεις για SQL Server:
- Τελευταία αθροιστική ενημερωμένη έκδοση για το SQL Server 2014
- Τελευταία αθροιστική ενημερωμένη έκδοση για το SQL Server 2012 SP2
Κατάσταση
Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για ένα ζήτημα που αφορά τα προϊόντα της Microsoft που παρατίθενται στην ενότητα "Ισχύει για".