Symptômes
Lorsque vous disposez d’un serveur pour le transfert des messages Service Broker dans Microsoft SQL Server 2008 R2 ou dans Microsoft SQL Server 2012, vous pouvez recevoir une erreur « sans yield » sur le serveur si une ou plusieurs des conditions suivantes sont vraies :
-
Le serveur est occupé à transférer des messages de service Broker.
-
Le volume de messages à transférer est important.
-
Dans une trace SQL Server Profiler, vous remarquez que certains messages ne peuvent pas être remis au serveur cible en raison d’un problème de réseau ou de la durée de vie d’un message.
-
Vous avez de nombreuses entrées dans la table sys. routes.
De plus, les performances du traitement des messages sont réduites.
Cause
Le message « sans yield » dans le journal des erreurs est averti. Lorsque vous recevez ce message, SQL Server est occupé à examiner la liste de destinataires de messages. Par ailleurs, SQL Server détermine si les messages sont antérieurs à la valeur du délai d’expiration et ne nécessitent aucune suppression. Si la taille de la table d’itinéraires est importante et si la liste des messages est très longue, il est possible que ce processus prenne du temps pour achever le processus à l’origine de l’erreur « sans yield ».
Résolution
Informations sur les mises à jour cumulatives
Mise à jour cumulative 6 pour SQL Server 2012
Le correctif de ce problème a été émis pour la première fois dans la mise à jour cumulative 6. Pour plus d’informations sur la façon d’obtenir ce package de mise à jour cumulative pour SQL Server 2012, cliquez sur le numéro ci-dessous pour consulter l’article de la base de connaissances Microsoft :
2728897 Package de mise à jour cumulative 6 pour SQL Server 2012Remarque Dans la mesure où les builds sont cumulatives, chaque nouvelle version du correctif contient tous les correctifs et les correctifs de sécurité inclus dans l’ancienne version du correctif SQL Server 2012. Nous vous recommandons d’appliquer la version de correctif la plus récente 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 :
2692828 Builds SQL Server 2012 publiées après la sortie de SQL Server 2012
Mise à jour cumulative 2 pour SQL Server 2012 SP1
Le correctif de ce problème a été émis pour la première fois dans la mise à jour cumulative 2. Pour plus d’informations sur la façon d’obtenir ce package de mise à jour cumulative pour SQL Server 2012 SP1, cliquez sur le numéro ci-dessous pour consulter l’article de la base de connaissances Microsoft :
2790947 Package de mise à jour cumulative 2 pour SQL Server 2012 Service Pack 1Remarque Dans la mesure où les builds sont cumulatives, chaque nouvelle version du correctif contient tous les correctifs et les correctifs de sécurité inclus dans la version précédente du correctif SQL Server 2012 SP1. Nous vous recommandons d’appliquer la version de correctif la plus récente 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 :
2772858 Builds SQL Server 2012 publiées après la sortie de SQL Server 2012 Service Pack 1
Mise à jour cumulative 4 pour SQL Server 2008 R2 Service Pack 2 (SP2)
Le correctif de ce problème a été émis pour la première fois dans la mise à jour cumulative 4. Pour plus d’informations sur la façon d’obtenir ce package de mise à jour cumulative pour SQL Server 2008 R2 Service Pack 2, cliquez sur le numéro ci-dessous pour consulter l’article de la base de connaissances Microsoft :
2777358 Package de mise à jour cumulative 4 pour SQL Server 2008 R2 Service Pack 2Remarque Dans la mesure où les builds sont cumulatives, chaque nouvelle version du correctif contient tous les correctifs et les correctifs de sécurité inclus dans la version de correctif du Service Pack 2 SQL Server 2008 R2 antérieur. Nous vous recommandons d’appliquer la version de correctif la plus récente 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 :
2730301 Builds SQL Server 2008 R2 publiées après la sortie de SQL Server 2008 R2 Service Pack 2
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.