Μετάβαση στο κύριο περιεχόμενο
Υποστήριξη
Είσοδος με Microsoft
Είσοδος ή δημιουργία λογαριασμού.
Γεια σας,
Επιλέξτε διαφορετικό λογαριασμό.
Έχετε πολλούς λογαριασμούς
Επιλέξτε τον λογαριασμό με τον οποίο θέλετε να εισέλθετε.

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

Συμπτώματα

Εξετάστε το ακόλουθο σενάριο. Μπορείτε να εκτελέσετε ένα ερώτημα στον Microsoft SQL Server 2008 R2 ή στον Microsoft SQL Server 2012 και η βελτιστοποίηση ερωτήματος δημιουργεί ένα σχέδιο εκτέλεσης που περιέχει τον ανώτερο τελεστή. Σε αυτό το σενάριο, το ερώτημα μπορεί να διαρκέσει πολύ χρόνο για να εκτελεστεί. Για παράδειγμα, μπορείτε να εκτελέσετε ένα ερώτημα που μοιάζει με το εξής:

SELECT TableA.Col1 FROM TableA JOIN TableB ON TableA.Col1 = TableB.Col1 WHERE TableA.Col2 = N'A' AND TableB.Col3 IN (SELECT Col1 FROM TableC )Αυτό το ερώτημα περιλαμβάνει δύο συνδέσμους. Ένας σύνδεσμος είναι μεταξύ του TableB και του TableC. (Αυτό υπονοείται από την παρουσία του κατηγόρημα IN.) Ο άλλος σύνδεσμος είναι μεταξύ του πίνακα A και του αποτελέσματος του πρώτου συνδέσμου. Το κατηγόρημα IN θα επιστρέψει TRUE εάν το ερώτημα εντοπίζει τουλάχιστον μία γραμμή που ικανοποιεί το πρώτο κατηγόρημα JOIN. Επομένως, η βελτιστοποίηση ερωτήματος προσθέτει τον πρώτο τελεστή στο σχέδιο εκτέλεσης ερωτήματος. Ένα τέτοιο ερώτημα μπορεί να επιστρέψει μόνο λίγες γραμμές. Ωστόσο, μπορεί να χρειαστεί περισσότερος χρόνος για την εκτέλεση αυτού του ερωτήματος από ό,τι αναμενόταν. Στο πραγματικό σχέδιο εκτέλεσης ερωτήματος, ο εκτιμώμενος αριθμός γραμμών διαφέρει σημαντικά από τον πραγματικό αριθμό των γραμμών. Αυτό επηρεάζει τη δυνατότητα βελτιστοποίησης ερωτήματος για να υπολογίσει με ακρίβεια το κόστος για διαφορετικές επιλογές προγράμματος. Το πρόβλημα μπορεί επίσης να προκύψει εάν χρησιμοποιείτε τον ΑΝΏΤΕΡΟ τελεστή ρητά ή εάν χρησιμοποιείτε έναν από τους ακόλουθους τελεστές:

  • OPTION (ΓΡΉΓΟΡΟ N)

  • ΣΤΟ

  • Υπάρχει

Επίλυση

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

SQL Server 2008 R2 Service Pack 2

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

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

2730301 Οι εκδόσεις του SQL Server 2008 R2 που κυκλοφόρησαν μετά την κυκλοφορία του SQL Server 2008 R2 Service Pack 2

SQL Server 2008 R2 Service Pack 1

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

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

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

SQL Server 2012

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

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

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

SQL Server 2008 R2

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

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

981356 Οι εκδόσεις του SQL Server 2008 R2 που κυκλοφόρησαν μετά την κυκλοφορία του SQL Server 2008 R2Σημείωση Μετά την εγκατάσταση της αθροιστικής ενημερωμένης έκδοσης, θα πρέπει να ενεργοποιήσετε τη σημαία ανίχνευσης 4199 για να ενεργοποιήσετε την επιδιόρθωση που παρέχεται σε αυτήν την αθροιστική ενημερωμένη έκδοση, εάν ισχύουν οι ακόλουθες συνθήκες:

  • Το πρόγραμμα ερωτήματος έχει έναν ΑΝΏΤΕΡΟ τελεστή επάνω από έναν τελεστή συνδέσμου ένθετων βρόχων (συμμετοχή 1) στη δεξιά πλευρά ενός άλλου τελεστή εφαρμογής/συνδέσμου (συμμετοχή 2).

  • Η εξωτερική πλευρά του Συνδέσμου 1 έχει εξωτερική αναφορά στην εξωτερική πλευρά του συνδέσμου 2.

  • Η συμμετοχή 1 χρησιμοποιεί ένα κατηγόρημα ισότητας σε μια αριστερή στήλη που είναι μοναδική.

Ένα παράδειγμα ενός τέτοιου ερωτήματος εμφανίζεται στην ενότητα "Συμπτώματα". (Αυτό προϋποθέτει ότι υπάρχουν ορισμένοι περιορισμοί μοναδικότητας στη βάση δεδομένων.) Εάν υπάρχουν άλλα ερωτήματα που περιέχουν επάνω, OPTION (FAST N), σε ή υπάρχουν τελεστές και παράγουν παρόμοια συμπτώματα, αλλά δεν ταιριάζουν με το μοτίβο που περιγράφεται εδώ, ενεργοποιήστε τη σημαία ανίχνευσης 4138.Προειδοποίηση Εάν ενεργοποιήσετε τη σημαία ανίχνευσης 4138, οι επιδόσεις μπορεί να μειωθούν για ορισμένα άλλα ερωτήματα που περιέχουν επάνω, την επιλογή (FAST N), τους τελεστές ή υπάρχουν τελεστές. Η σημαία παρακολούθησης 4138 πρέπει να χρησιμοποιείται μόνο όταν ισχύουν οι ακόλουθες συνθήκες:

  • Επιβεβαιώνεται το αποτέλεσμα σε αργές ερωτήσεις που αφορούν αυτούς τους τελεστές.

  • Δεν υπάρχουν άλλες χρήσιμες λύσεις.

  • Δεν ανιχνεύεται καμία παλινδρόμηση σε άλλα ερωτήματα που περιέχουν παρόμοιους τελεστές.

Κατάσταση

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

Λύση

Για να επιλύσετε αυτό το ζήτημα, χρησιμοποιήστε τον αριστερό τελεστή εξωτερικού συνδέσμου ή οποιονδήποτε από τους διάφορους υπαινιγμούς ΒΕΛΤΙΣΤΟΠΟΊΗΣΗς.

Χρειάζεστε περισσότερη βοήθεια;

Θέλετε περισσότερες επιλογές;

Εξερευνήστε τα πλεονεκτήματα της συνδρομής, περιηγηθείτε σε εκπαιδευτικά σεμινάρια, μάθετε πώς μπορείτε να προστατεύσετε τη συσκευή σας και πολλά άλλα.

Οι κοινότητες σάς βοηθούν να κάνετε και να απαντάτε σε ερωτήσεις, να δίνετε σχόλια και να ακούτε από ειδικούς με πλούσια γνώση.

Σας βοήθησαν αυτές οι πληροφορίες;

Πόσο ικανοποιημένοι είστε με τη γλωσσική ποιότητα;
Τι επηρέασε την εμπειρία σας;
Πατώντας "Υποβολή" τα σχόλια σας θα χρησιμοποιηθούν για τη βελτίωση των προϊόντων και των υπηρεσιών της Microsoft. Ο διαχειριστής IT θα έχει τη δυνατότητα να συλλέξει αυτά τα δεδομένα. Δήλωση προστασίας προσωπικών δεδομένων.

Σας ευχαριστούμε για τα σχόλιά σας!

×