Se connecter avec Microsoft
S'identifier ou créer un compte.
Bonjour,
Sélectionnez un autre compte.
Vous avez plusieurs comptes
Choisissez le compte avec lequel vous voulez vous connecter.

Microsoft distribue les correctifs Microsoft SQL Server 2008 R2 Service Pack 1 (SP1) comme un fichier téléchargeable. Dans la mesure où les correctifs sont cumulatifs, chaque nouvelle version contient tous les correctifs et toutes les mises à jour de sécurité qui ont été incluses dans la mise à jour précédente de SQL Server 2008 R2 Service Pack 1 (SP1).

Symptômes

Lorsqu’une alerte de condition de performance SQL Server est déclenchée dans Microsoft SQL Server 2008 R2, vous pouvez recevoir le message d’erreur suivant :

MSG 512, niveau 16, état 1, procédure sp_sqlagent_get_perf_counters, la 40Subquery de ligne a renvoyé plus de 1 valeur. Cette opération n’est pas autorisée lorsque la sous-requête suit =, ! =, <, <= >, >= ou lorsque la sous-requête est utilisée en tant qu’expression.

Par ailleurs, le message d’erreur est consigné dans le journal des erreurs de l’agent SQL Server dans cette situation.Remarque Ce problème survient également dans Microsoft SQL Server 2008.

Cause

Ce problème survient parce que la sous-requête de la procédure stockée du système msdb.dbo.sp_sqlagent_get_perf_counters calcule la valeur d’un compteur de manière incorrecte. La sous-requête n’a pas de relation de jointure interne pour la colonne [object_name] dans la condition de la sous-requête. C’est pourquoi les lignes multiples sont retournées de façon incorrecte et le problème mentionné dans la section « symptômes » se produit.Remarque La procédure stockée système msdb.dbo.sp_sqlagent_get_perf_counters s’exécute lorsqu’une alerte de condition de performance SQL Server est déclenchée.

Résolution

Informations sur les mises à jour cumulatives

Package de mise à jour cumulative 3 pour SQL Server 2008 R2 SP1

Le correctif de ce problème a été émis pour la première fois dans le package de mise à jour cumulative 3. Pour plus d’informations sur la façon d’obtenir ce package de mise à jour cumulative pour SQL Server 2008 R2 SP1, cliquez sur le numéro ci-dessous pour consulter l’article de la base de connaissances Microsoft :

2591748 Package de mise à jour cumulative 3 pour SQL Server 2008 R2 SP1Remarque Dans la mesure où les builds sont cumulatives, chaque nouvelle version de mise à jour contient tous les correctifs et toutes les mises à jour de sécurité qui ont été incluses dans la version précédente de la mise à jour SQL Server 2008 R2 SP1. Nous vous recommandons d’appliquer la version la plus récente de la mise à jour qui contient ce correctif. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :

2567616 Builds SQL Server 2008 R2 publiées après la sortie de SQL Server 2008 R2 SP1

Solution de contournement

Pour contourner ce problème, procédez à la mise à jour de la sous-requête de la procédure stockée système msdb.dbo.sp_sqlagent_get_perf_counters . Pour ce faire, ajoutez la condition suivante à la clause Where des quatre sous-requêtes qui sont utilisées dans le calcul de la colonne [value] :

(spi1.[object_name] = spi2.[object_name])

Après avoir ajouté la condition, les sous-requêtes se présentent comme suit :

SELECT CASE spi2.cntr_value WHEN 0 THEN 1 ELSE spi2.cntr_value ENDFROM sys.dm_os_performance_counters spi2WHERE (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

Statut

Microsoft a confirmé l'existence de ce problème dans les produits Microsoft figurant dans la liste des produits concernés par cet article.

Besoin d’aide ?

Vous voulez plus d’options ?

Explorez les avantages de l’abonnement, parcourez les cours de formation, découvrez comment sécuriser votre appareil, etc.

Les communautés vous permettent de poser des questions et d'y répondre, de donner vos commentaires et de bénéficier de l'avis d'experts aux connaissances approfondies.

Ces informations vous ont-elles été utiles ?

Dans quelle mesure êtes-vous satisfait(e) de la qualité de la langue ?
Qu’est-ce qui a affecté votre expérience ?
En cliquant sur Envoyer, vos commentaires seront utilisés pour améliorer les produits et services de Microsoft. Votre administrateur informatique sera en mesure de collecter ces données. Déclaration de confidentialité.

Nous vous remercions de vos commentaires.

×