CORRECTIF : message d’erreur « Erreur de dépassement de capacité arithmétique conversion d’IDENTITÉ pour le type de données int » lorsque vous générez un projet dans Team Foundation Server 2010

Symptômes

Lorsque vous essayez de générer un projet dans Microsoft Visual Studio Team Foundation Server (TFS) 2010, le processus de build échoue, et vous recevez le message d’erreur suivant :
Message d’exception : Erreur de dépassement de capacité arithmétique conversion d’IDENTITÉ pour le type de données int.
Dépassement de capacité arithmétique s’est produite. (type SqlException)
En outre, un message d’exception non gérée semblable au suivant est généré :
à Microsoft.TeamFoundation.Framework.Server.TeamFoundationSqlResourceComponent.MapException (SqlException ex, QueryExecutionState queryState)

à Microsoft.TeamFoundation.Framework.Server.TeamFoundationSqlResourceComponent.HandleException (SqlException ex)

à Microsoft.TeamFoundation.Framework.Server.TeamFoundationSqlResourceComponent.Execute (ExecuteType executeType, CommandBehavior comportement)

à Microsoft.TeamFoundation.Framework.Server.TeamFoundationSqlResourceComponent.ExecuteReader()

à Microsoft.TeamFoundation.Build.Server.BuildComponent.UpdateBuildInformation (String buildUri, modifications de IEnumerable'1, requestedBy de chaîne)

à Microsoft.TeamFoundation.Build.Server.TeamFoundationBuildService.UpdateBuildInformation (TeamFoundationRequestContext requestContext, modifications de IList'1, IdentityDescriptor requestedFor)

à Microsoft.TeamFoundation.Build.Server.BuildWebService.UpdateBuildInformation (InformationChangeRequest [] les modifications)
Remarque  Ce problème se produit généralement lors de la génération de grands journaux sont stockés dans la base de données du serveur de build TFS.

Cause

Ce problème se produit car le journal MSBuild ajoute les nœuds à la table de tbl_BuildInformation au cours de chaque processus de génération. Par conséquent, la colonne NodeId atteint sa valeur maximale entière.

Par exemple, si vous exécutez tous vos générations en mode Diagnostic ou détaillé, de nombreux messages sont écrits dans la base de données. Ce comportement provoque la valeur augmente. En outre, si vous avez des activités que vous écrivant des messages, ces valeurs peuvent s’accumuler au fil du temps.

Lorsque vous exécutez l’instruction SQL suivante sur la base de données de collection, la valeur retournée est proche de la valeur maximale de 2.147 billon :
Sélectionnez IDENT_CURRENT('tbl_buildInformation')

Résolution

Pour résoudre ce problème, appliquez le correctif suivant.

Il s’agit d’un correctif préventif. Ce correctif logiciel ne résout pas ce problème si elle s’est déjà produite. Nous vous recommandons de contacter les Services de Support technique de Microsoft si vous rencontrez le problème.

Après avoir appliqué ce correctif, les propriétés LogProjectNodes et LogWarnings sont ajoutées aux activités de MSBuild dans TFS 2010.

Remarque : Pour définir les propriétés nouvelles dans les activités de MSBuild,vous devez appliquer ce correctif sur le serveur de build TFS et sur les clients de Visual Studio de Microsoft qui sont utilisés pour modifier le flux de travail.

Informations sur le correctif

Un correctif pris en charge est désormais disponible auprès de Microsoft. Toutefois, il est conçu pour résoudre uniquement le problème décrit dans cet article. Il s’applique uniquement aux systèmes rencontrant ce problème spécifique. Ce correctif peut subir des tests supplémentaires. Par conséquent, si vous n'êtes pas sérieusement concerné par ce problème, nous vous recommandons d'attendre la prochaine mise à jour logicielle qui contiendra ce correctif.

Pour résoudre ce problème immédiatement, contactez les Services de Support technique Microsoft pour obtenir le correctif. Pour obtenir une liste complète des numéros de téléphone des Services de Support technique Microsoft et des informations relatives aux frais de support technique, visitez le site Web Microsoft suivant :Remarque Dans des cas particuliers, des frais généralement encourus pour les appels au support technique peuvent être annulés si un technicien du support technique Microsoft détermine qu'une mise à jour spécifique peut résoudre votre problème. Les coûts habituels du support technique s’appliqueront aux autres questions et problèmes qui ne relèvent pas de la mise à jour spécifique en question.

Conditions préalables

Pour appliquer ce correctif, vous devez disposer de Microsoft Visual Studio Team Foundation 2010 Service Pack 1 (SP1) installé.

Nécessite un redémarrage

Vous devez redémarrer l’ordinateur après avoir appliqué ce correctif logiciel si les fichiers concernés sont utilisés lors de l’installation. Nous vous recommandons de fermer toutes les instances de Visual Studio avant d’installer ce correctif.

Informations de remplacement du correctif

Ce correctif ne remplace pas un correctif précédemment publié.

Informations sur les fichiers

La version internationale de ce correctif possède les attributs de fichier (ou ultérieure) répertoriés dans le tableau suivant. Les dates et heures de ces fichiers sont répertoriées en temps universel coordonné (UTC). Lorsque vous affichez les informations de fichier, elles sont converties en heure locale. Pour trouver la différence entre l’UTC et l’heure locale, utilisez l’onglet fuseau horaire dans l’élément de Date et heure dans le panneau de configuration.
Nom de fichierVersion de fichierTaille du fichierDateHeurePlateforme
Microsoft.teamfoundation.build.server.logger.dll10.0.40219.41349,2808-Aug-1214:55x86
Microsoft.teamfoundation.build.workflow.dll10.0.40219.413660,6168-Aug-1214:55x86
Tfsbuildservicehost.exe10.0.40219.413192,6088-Aug-1214:55x86

État

Microsoft a confirmé l'existence de ce problème dans les produits Microsoft répertoriés dans la section « S'applique à ».

Plus d'informations

Pour éviter ce problème, appliquez l’une des méthodes suivantes :
  • Ouvrir votre modèle de processus de génération à l’aide d’un éditeur de texte, ajoutez les propriétés LogProjectNodes et LogWarnings pour l’activité de MSBuild et puis définissez les valeurs des propriétés à la valeur false.
  • Ouvrez votre modèle de processus de génération à l’aide du Concepteur de flux de travail dans Visual Studio, accédez à l’activité de MSBuild et puis modifiez les valeurs des deux propriétés à faux.
Remarques
  • Il existe deux activités MSBuild dans le modèle de processus de build par défaut.
  • La valeur par défaut de ces deux propriétés a la valeur true.
Nous vous recommandons du niveau de commentaires pour les builds si vous utilisez le niveau de détails ou de Diagnostic. Utilisez ces options uniquement lorsque c’est nécessaire.

Dans TFS2012, ces messages sont n’est plus écrit dans la base de données. Au lieu de cela, elles sont écrites dans un fichier qui aide à ce problème.

Pour plus d’informations sur la façon de mettre à jour les TFS créer des tables, consultez les sites Web Microsoft suivants :

Propriétés

ID d'article : 2704778 - Dernière mise à jour : 9 janv. 2017 - Révision : 1

Commentaires