KB2649913 - ΕΠΙΔΙΟΡΘΩΣΗ: Οι επιδόσεις ενδέχεται να μειωθούν όταν εκτελείτε ένα ερώτημα που χρησιμοποιεί την αποθηκευμένη διαδικασία sp_cursoropen μετά την αναβάθμιση από SQL Server 2005 σε SQL Server 2008 ή SQL Server 2008 R2 ή σε SQL Server 2012

Ισχύει για
SQL Server 2008 R2 Datacenter SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Express SQL Server 2008 R2 Express with Advanced Services SQL Server 2008 R2 Standard SQL Server 2008 R2 Standard Edition for Small Business SQL Server 2008 R2 Workgroup SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Express SQL Server 2008 Express with Advanced Services SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Express SQL Server 2012 Standard

Η Microsoft διανέμει τις επιδιορθώσεις του Microsoft SQL Server 2008 R2 Service Pack 1 (SP1) ή του Microsoft SQL Server 2012 σε ένα αρχείο με δυνατότητα λήψης. Επειδή οι ενημερώσεις κώδικα είναι αθροιστικές, κάθε νέα έκδοση περιέχει όλες τις επείγουσες επιδιορθώσεις και όλες τις ενημερωμένες εκδόσεις ασφαλείας που συμπεριλήφθηκαν με το προηγούμενο SQL Server 2008 R2 Service Pack 1 (SP1) ή Microsoft SQL Server 2012 ενημερωμένη έκδοση.

Συμπτώματα

Εξετάστε το ακόλουθο σενάριο:

  • Κάνετε αναβάθμιση από Microsoft SQL Server 2005 σε Microsoft SQL Server 2008 ή σε Microsoft SQL Server 2008 R2 ή Microsoft SQL Server 2012.
  • Μπορείτε να εκτελέσετε ένα ερώτημα που χρησιμοποιεί την sp_cursoropen αποθηκευμένη διαδικασία και, στη συνέχεια, να καθορίσετε την παράμετρο πλήθους γραμμών για τη λήψη των πρώτων γραμμών ενός πίνακα.

Σε αυτό το σενάριο, οι επιδόσεις ενδέχεται να είναι χαμηλότερες από ό,τι εάν εκτελέσετε το ίδιο ερώτημα στο SQL Server 2005.

Αιτία

Αυτό το ζήτημα παρουσιάζεται επειδή ο μηχανισμός βελτιστοποίησης ερωτήματος χρησιμοποιεί ένα στατικό σχέδιο δρομέα αντί για ένα δυναμικό σχέδιο δρομέα. Για ένα στατικό σχέδιο δρομέα, το SQL Server λαμβάνει όλες τις γραμμές και τις εισάγει στον πίνακα εργασίας δρομέα. Ωστόσο, για ένα δυναμικό σχέδιο δρομέα, το SQL Server λαμβάνει μόνο τις γραμμές που είναι απαραίτητες.

Επίλυση

Πληροφορίες αθροιστικής ενημέρωσης

SQL Server 2012

Η επιδιόρθωση για αυτό το ζήτημα κυκλοφόρησε πρώτα στην αθροιστική ενημερωμένη έκδοση 1 για SQL Server 2012. Για περισσότερες πληροφορίες σχετικά με αυτό το πακέτο αθροιστική ενημερωμένη έκδοση, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:

2679368 Πακέτο αθροιστικών ενημερώσεων 1 για το SQL Server 2012Σημείωση Επειδή το build που είναι αθροιστικές, κάθε νέα έκδοση της ενημέρωσης κώδικα περιέχει όλες τις επείγουσες επιδιορθώσεις και όλες τις ενημερώσεις κώδικα ασφαλείας που συμπεριλήφθηκαν με την προηγούμενη SQL Server 2012 έκδοση της ενημέρωσης κώδικα. Η Microsoft συνιστά να εξετάσετε την εφαρμογή της πιο πρόσφατης έκδοσης της ενημέρωσης κώδικα που περιέχει αυτήν την επείγουσα επιδιόρθωση. Για περισσότερες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για προβολή του άρθρου στη Γνωσιακή Βάση της Microsoft:

2692828 Οι εκδόσεις του SQL Server 2012 που κυκλοφόρησαν μετά την κυκλοφορία του SQL Server 2012 Πρέπει να εφαρμόσετε μια επείγουσα επιδιόρθωση του SQL Server 2012 σε μια εγκατάσταση του SQL Server 2012.

Αθροιστική ενημερωμένη έκδοση πακέτου 5 για SQL Server 2008 R2 SP1

Μετά την εφαρμογή αυτής της επείγουσας επιδιόρθωσης, ενεργοποιήστε τη σημαία παρακολούθησης 4199.

Η επιδιόρθωση για αυτό το πρόβλημα κυκλοφόρησε πρώτα στην αθροιστική ενημερωμένη έκδοση 5. Για περισσότερες πληροφορίες σχετικά με τον τρόπο απόκτησης αυτού του πακέτου αθροιστική ενημερωμένη έκδοση για το SQL Server 2008 R2 SP1, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής βάσης της Microsoft:

2659694 Πακέτο αθροιστικών ενημερώσεων 5 για το SQL Server 2008 R2 SP1Note Επειδή το build που είναι αθροιστικές, κάθε νέα έκδοση της ενημέρωσης κώδικα περιέχει όλες τις επείγουσες επιδιορθώσεις και όλες τις ενημερώσεις κώδικα ασφαλείας που συμπεριλήφθηκαν με την προηγούμενη έκδοση της ενημέρωσης κώδικα του SQL Server 2008 R2 SP1. Συνιστάται να εξετάσετε την εφαρμογή της πιο πρόσφατης έκδοσης ενημερώσεων κώδικα που περιέχει αυτήν την επείγουσα επιδιόρθωση. Για περισσότερες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για προβολή του άρθρου στη Γνωσιακή Βάση της Microsoft:

2567616 Οι SQL Server δομές του 2008 R2 κυκλοφόρησαν μετά την κυκλοφορία του SQL Server 2008 R2 SP1

Λύση

Για να επιλύσετε αυτό το ζήτημα, προσθέστε την υπόδειξη ερωτήματος FAST στο ερώτημα.

Περισσότερες πληροφορίες

Για περισσότερες πληροφορίες σχετικά με τον τρόπο χρήσης υποδείξεων ερωτήματος, επισκεφθείτε την ακόλουθη τοποθεσία MSDN στο Web:

Γενικές πληροφορίες σχετικά με τον τρόπο χρήσης των υποδείξεων ερωτήματος Για περισσότερες πληροφορίες σχετικά με τη σημαία παρακολούθησης 4199, επισκεφθείτε την ακόλουθη τοποθεσία Web:

Γενικές πληροφορίες σχετικά με τη σημαία παρακολούθησης 4199

Κατάσταση

Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για ένα ζήτημα που αφορά τα προϊόντα της Microsoft που παρατίθενται στην ενότητα "Ισχύει για".