ΕΠΙΔΙΌΡΘΩΣΗ: Σφάλμα όταν ενεργοποιείται μια ειδοποίηση κατάσταση επιδόσεων SQL Server στο SQL Server 2008 R2

Μεταφράσεις άρθρων Μεταφράσεις άρθρων
Αναγν. άρθρου: 2587511 - Δείτε τα προϊόντα στα οποία αναφέρεται το συγκεκριμένο άρθρο.
Ανάπτυξη όλων | Σύμπτυξη όλων

Σε αυτήν τη σελίδα

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

Συμπτώματα

Όταν ενεργοποιείται μια ειδοποίηση κατάσταση επιδόσεων διακομιστή SQL στον Microsoft SQL Server 2008 R2, ενδέχεται να λαμβάνετε το ακόλουθο μήνυμα λάθους:
Msg 512, επίπεδο 16, 1 κράτος, sp_sqlagent_get_perf_counters διαδικασία, 40 γραμμής
Δευτερεύον ερώτημα επέστρεψε τιμή μεγαλύτερη από 1. Αυτό δεν επιτρέπεται όταν ακολουθεί το δευτερεύον ερώτημα =,! = <,> </,> <= ,="">, > = ή όταν χρησιμοποιείται το δευτερεύον ερώτημα ως μια έκφραση.</=>
Επιπλέον, το μήνυμα λάθους καταγράφεται στο αρχείο καταγραφής σφαλμάτων του SQL Server Agent σε αυτήν την περίπτωση.

ΣΗΜΕΙΩΣΗ Αυτό το ζήτημα παρουσιάζεται επίσης στον Microsoft SQL Server 2008.

Αιτία

Αυτό το ζήτημα παρουσιάζεται επειδή το δευτερεύον ερώτημα από το msdb.DBO.sp_sqlagent_get_perf_counters αποθηκευμένη διαδικασία συστήματος υπολογίζει την τιμή ενός μετρητή εσφαλμένα.

Το δευτερεύον ερώτημα, δεν διαθέτει έναν εσωτερικό σύνδεσμο σχέσης για τη [object_name] στήλη στη συνθήκη του δευτερεύοντος ερωτήματος. Επομένως, επιστρέφονται λανθασμένα πολλές γραμμές, και προκύπτει το ζήτημα που περιγράφεται στην ενότητα "Συμπτώματα".

ΣΗΜΕΙΩΣΗ Το msdb.DBO.sp_sqlagent_get_perf_counters σύστημα αποθηκευμένη διαδικασία εκτελείται όταν ενεργοποιείται μια ειδοποίηση κατάσταση επιδόσεων SQL Server.

Προτεινόμενη αντιμετώπιση

Αθροιστική ενημερωμένη έκδοση πληροφορίες

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

Η ενημέρωση κώδικα για το ζήτημα αυτό εκδόθηκε για πρώτη φορά στο πακέτο αθροιστικών ενημερωμένων εκδόσεων 3. Για περισσότερες πληροφορίες σχετικά με τη λήψη αυτού του πακέτου αθροιστική ενημερωμένη έκδοση για τον SQL Server 2008 R2 SP1, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
2591748 Αθροιστική ενημερωμένη έκδοση πακέτου 3 για τον SQL Server 2008 R2 SP1
ΣΗΜΕΙΩΣΗ Επειδή το build που είναι αθροιστικές, κάθε νέα ενημερωμένη έκδοση περιέχει όλες τις επείγουσες επιδιορθώσεις και όλες τις ενημερωμένες εκδόσεις ασφαλείας που συμπεριλήφθηκαν το προηγούμενο SQL Server 2008 R2 SP1 ενημέρωση έκδοσης. Σας συνιστούμε να εξετάσετε εφαρμογή της πιο πρόσφατης ενημερωμένης έκδοσης που περιέχει αυτήν την επείγουσα επιδιόρθωση. Για περισσότερες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
2567616 Ο SQL Server 2008 R2 δημιουργεί που κυκλοφόρησαν μετά την κυκλοφορία του SQL Server 2008 R2 SP1


Εναλλακτικός τρόπος αντιμετώπισης

Για να επιλύσετε αυτό το ζήτημα, ενημερώστε το δευτερεύον ερώτημα από το msdb.DBO.sp_sqlagent_get_perf_counters σύστημα αποθηκευμένη διαδικασία. Για να το κάνετε αυτό, προσθέστε η ακόλουθη συνθήκη για την ΌΠΟΥ ρήτρα τα τέσσερα δευτερευόντων ερωτημάτων που χρησιμοποιούνται για την [τιμή] στήλη υπολογισμού:
(spi1.[object_name] = spi2.[object_name])
Αφού προσθέσετε τη συνθήκη, τα δευτερεύοντα ερωτήματα μοιάζει με την ακόλουθη:
SELECT CASE spi2.cntr_value WHEN 0 THEN 1 ELSE spi2.cntr_value END
FROM sys.dm_os_performance_counters spi2
WHERE (spi1.[object_name] = spi2.[object_name])
AND (spi1.counter_name + ' ' = SUBSTRING(spi2.counter_name, 1, PATINDEX('% Base%', spi2.counter_name)))
AND (spi1.instance_name = spi2.instance_name)
AND (spi2.cntr_type = @perfTypeLargeRawBase

Κατάσταση

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

Ιδιότητες

Αναγν. άρθρου: 2587511 - Τελευταία αναθεώρηση: Δευτέρα, 17 Οκτωβρίου 2011 - Αναθεώρηση: 1.0
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Enterprise Evaluation
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
Λέξεις-κλειδιά: 
kbqfe kbfix kbexpertiseadvanced kbsurveynew kbmt KB2587511 KbMtel
Μηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:2587511

Αποστολή σχολίων

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com