KB2634571-οι βελτιώσεις για την εντολή DBCC CHECKDB ενδέχεται να έχουν ως αποτέλεσμα ταχύτερη απόδοση όταν χρησιμοποιείτε την επιλογή "PHYSICAL_ONLY"

Ισχύει για: SQL Server 2008 R2 DatacenterSQL Server 2008 R2 DeveloperSQL Server 2008 R2 Enterprise

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

Εισαγωγή

Η εντολή DBCC CHECKDB εξισορροπεί την ανάγκη μεταξύ απόδοσης και πόρων. Επομένως, από προεπιλογή, η εντολή DBCC CHECKDB ενδέχεται να μην μεγιστοποιεί τη χρήση πόρων όταν εκτελούνται έλεγχοι συνέπειας για μια βάση δεδομένων.Για παράδειγμα, η εντολή DBCC CHECKDB δεν μπορεί να μεγιστοποιήσει τη χρήση εισόδου/εξόδου δίσκου όταν εκτελούνται έλεγχοι συνέπειας για μια βάση δεδομένων.

Επίλυση


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

SQL Server 2008 Service Pack 2

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

2673382 Πακέτο αθροιστικών ενημερώσεων 9 για τον SQL Server 2008 Service Pack 2

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

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

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

SQL Server 2008 Service Pack 3

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

2673383 Αθροιστική ενημερωμένη έκδοση πακέτου 4 για τον SQL Server 2008 Service Pack 3

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

2629969 Ο SQL Server 2008 δημιουργεί τα οποία κυκλοφόρησαν μετά την κυκλοφορία του SQL Server 2008 Service Pack 3

Οι επείγουσες επιδιορθώσεις του Microsoft SQL Server 2008 δημιουργούνται για συγκεκριμένα Service Pack του SQL Server. Πρέπει να εφαρμόσετε μια επείγουσα επιδιόρθωση του SQL Server 2008 Service Pack 3 σε μια εγκατάσταση του SQL Server 2008 Service Pack 3. Από προεπιλογή, οποιαδήποτε επείγουσα επιδιόρθωση που παρέχεται σε ένα Service Pack του SQL Server περιλαμβάνεται στο επόμενο Service Pack του SQL Server.

Πακέτο αθροιστικών ενημερώσεων 11 για τον SQL Server 2008 R2

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

2633145 Πακέτο αθροιστικών ενημερώσεων 11 για τον SQL Server 2008 R2

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

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

Πακέτο αθροιστικών ενημερώσεων 4 για τον SQL Server 2008 R2 SP1

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

2633146 Πακέτο αθροιστικών ενημερώσεων 4 για τον SQL Server 2008 R2 SP1

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

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

SQL Server 2012

Ο SQL Server 2012 περιέχει τις αλλαγές κώδικα για αυτές τις επιδιορθώσεις. Και οι δύο σημαίες ανίχνευσης 2562 και 2549, όπως περιγράφονται παρακάτω, ισχύουν επίσης για τον SQL Server 2012. Ωστόσο, η επιδιόρθωση για τη μείωση της διένεξης στο μάνταλο DBCC_MULTIOBJECT_SCANNER δεν απαιτεί τη σημαία ανίχνευσης 2562 στον SQL Server 2012. Αυτές οι αλλαγές συμπεριλήφθηκαν από προεπιλογή στον SQL Server 2012.

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


Αυτή η αθροιστική ενημέρωση παρουσιάζει δύο σημαίες ανίχνευσης για την καλύτερη μεγιστοποίηση της χρήσης πόρων εισόδου/εξόδου δίσκου όταν ένας χρήστης εκτελεί την εντολή DBCC CHECKDB . Παρόλο που αυτές οι βελτιώσεις στοχεύουν μόνο στην επιλογή PHYSICAL_ONLY  , μπορούν επίσης να βελτιώσουν τη συνολική απόδοση των εντολών DBCC CHECKDB που δεν χρησιμοποιούν την επιλογή " PHYSICAL_ONLY ".Σημαία ανίχνευσης 2562Αυτή η σημαία παρακολούθησης περιλαμβάνει τις ακόλουθες αλλαγές: 
  • Εκτελέστε την εντολή DBCC CHECKDB σε μια μεμονωμένη "δέσμη" ανεξάρτητα από τον αριθμό των ευρετηρίων στη βάση δεδομένων. Από προεπιλογή, η εντολή DBCC CHECKDB προσπαθεί να ελαχιστοποιήσει τους πόρους tempdb περιορίζοντας τον αριθμό των ευρετηρίων ή των "γεγονότων" που δημιουργεί με τη χρήση μιας έννοιας "δέσμες". Αυτή η σημαία παρακολούθησης επιβάλλει την επεξεργασία σε μία δέσμη.
  • Βελτίωση της εσωτερικής επεξεργασίας για τον προσδιορισμό των σελίδων που θα διαβαστούν από τη βάση δεδομένων. Με αυτόν τον τρόπο μειώνεται ο ισχυρισμός στο μάνταλο DBCC_MULTIOBJECT_SCANNER.
Ένα αποτέλεσμα της χρήσης αυτής της σημαίας παρακολούθησης είναι ότι οι απαιτήσεις χώρου για το tempdb  μπορεί να αυξηθούν. Tempdb  μπορεί να αυξηθεί έως και 5 τοις εκατό ή περισσότερο της βάσης δεδομένων χρήστη που υποβάλλεται σε επεξεργασία από την εντολή DBCC CHECKDB . Επομένως, συνιστάται να κάνετε pre-Size tempdb  σε τουλάχιστον 5 τοις εκατό του μεγέθους της βάσης δεδομένων σας όταν χρησιμοποιείτε αυτήν τη σημαία παρακολούθησης για να αποφύγετε την αυτόματη ανάπτυξη, η οποία μπορεί να μειώσει την απόδοση της εντολής DBCC CHECKDB .Σημείωση Η σημαία παρακολούθησης 2562 είναι μια σημαία ανίχνευσης επιπέδου περιόδου λειτουργίας. Μπορείτε να το ενεργοποιήσετε στο επίπεδο περιόδου λειτουργίας.Σημαία ανίχνευσης 2549Η εντολή DBCC CHECKDB δημιουργεί μια εσωτερική λίστα σελίδων για ανάγνωση ανά μοναδική μονάδα δίσκου σε όλα τα αρχεία της βάσης δεδομένων. Αυτή η λογική καθορίζει μοναδικές μονάδες δίσκου με βάση το γράμμα της μονάδας δίσκου του ονόματος του φυσικού αρχείου κάθε αρχείου. Εάν οι υποκείμενοι δίσκοι είναι πραγματικά μοναδικοί όταν τα γράμματα μονάδας δίσκου ή όχι, η εντολή DBCC CHECKDB θα τους μεταχειριστεί ως έναν δίσκο. Όταν είναι ενεργοποιημένη αυτή η σημαία παρακολούθησης, κάθε αρχείο βάσης δεδομένων θεωρείται ότι βρίσκεται σε μια μοναδική μονάδα δίσκου. Μην χρησιμοποιείτε αυτήν τη σημαία παρακολούθησης, εκτός εάν γνωρίζετε ότι κάθε αρχείο βασίζεται σε έναν μοναδικό φυσικό δίσκο.Σημείωση Η σημαία παρακολούθησης 2549 είναι μια καθολική σημαία παρακολούθησης. Για να το ενεργοποιήσετε, πρέπει να το χρησιμοποιήσετε ως παράμετρο εκκίνησης ή να χρησιμοποιήσετε την εντολή DBCC TRACEON (2549;-1).Παρόλο που αυτές οι σημαίες ανίχνευσης βελτιώνουν τις επιδόσεις των εντολών DBCC CHECKDB που στοχεύουν στη χρήση της ΕΠΙΛΟΓΉς DBCC CHECKDB  , ορισμένοι χρήστες ενδέχεται να μην βλέπουν καμία βελτίωση των επιδόσεων. Ενώ αυτές οι σημαίες ανίχνευσης βελτιώνουν τη χρήση των πόρων εισόδου/εξόδου του δίσκου, οι υποκείμενες επιδόσεις των πόρων του δίσκου ενδέχεται να περιορίζουν τη συνολική απόδοση της εντολής DBCC CHECKDB .Λάβετε υπόψη τους ακόλουθους περιορισμούς:
  • Οι βελτιώσεις επιδόσεων δεν έχουν σχεδιαστεί για τη βελτίωση των επιδόσεων κατά τη χρήση της επιλογής επιδιόρθωσης. Για παράδειγμα, οι βελτιώσεις επιδόσεων δεν έχουν σχεδιαστεί για τη βελτίωση των επιδόσεων όταν χρησιμοποιείτε την επιλογή " REPAIR_ALLOW_DATA_LOSS".
  • Οι βελτιώσεις δεν επηρεάζουν την εντολή DBCC CHECKALLOC.
  • Οι βελτιώσεις μπορεί να βοηθήσουν την εκτέλεση της εντολής DBCC CHECKTABLEγια ευρετήρια με πολλές σελίδες. Ωστόσο, οι βελτιώσεις δεν στοχεύουν στη βελτίωση των επιδόσεων της εντολής DBCC CHECKTABLE .

Κατάσταση


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