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 sous la forme d’un fichier téléchargeable. Dans la mesure où les correctifs sont cumulatifs, chaque nouvelle version contient tous les correctifs et les correctifs de sécurité inclus dans la version de correctif SQL Server 2008 R2 antérieure.

Symptômes

Prenons l’exemple du scénario suivant :

  • Vous disposez d’un modèle et d’une entité Data Services (MDS) qui dispose d’un attribut basé sur le domaine dans Microsoft SQL Server 2008 R2. L’attribut Domain est conçu pour être libre de faire référence au même attribut. Par exemple, vous avez une entité Employee qui dispose d’un attribut ManagerName . L’attribut ManagerName fait référence à la même entité employé.Remarque Un responsable est également un type d’employé.

  • Il existe une hiérarchie dérivée qui est définie sur un attribut pour afficher la relation parent/enfant récursive pour l’attribut basée sur le domaine.

  • Vous chargez des valeurs de données contenant une ou plusieurs références circulaires à la table intermédiaire MDS. Ce comportement entraîne une référence circulaire, et le premier nœud de l’attribut ne fait pas partie du cercle. Par exemple, le modèle de données suivant présente une référence circulaire. Toutefois, la valeur du membre membre1 ne fait pas partie du cercle :

    Member1--directeur d’attribut--> Membre2 >-------------------> > Member3-

    insert into mdm.tblStgMemberAttribute(ModelName, EntityName, MemberType_ID, MemberCode, AttributeName, AttributeValue, Status_ID)Values ('EntityTest', 'ModelTest', 1, 'Member3', 'Manager', 'Member2', 0),('EntityTest', 'ModelTest', 1, 'Member2', 'Manager', 'Member3', 0),('EntityTest', 'ModelTest', 1, 'Member3', 'Manager', 'Member2', 0),('EntityTest', 'ModelTest', 1, 'Member2', 'Manager', 'Member1', 0)('EntityTest', 'ModelTest', 1, 'Member1', 'Manager', 'NULL', 0)
  • Vous pouvez utiliser l’une des méthodes suivantes pour charger les valeurs de données dans l’entité à l’aide du processus de staging de MDS :

    • Exécutez le fichier exec [GPM]. [ udpStagingSweep] en utilisant les paramètres nécessaires pour traiter les données intermédiaires.

    • Cliquez sur gestion de l' intégration pour accéder à la page d’accueil du site Web MDS. Dans la page importation et exportation , sous l’en-tête de section enregistrements de staging non par lot , cliquez sur l' icône d’engrenage pour traiter les enregistrements pour un modèle et une version spécifiques.

Dans ce scénario, le processus en arrière-plan au cours du processus de mise en place est susceptible de rencontrer une boucle infinie lorsque le processus en arrière-plan appelle le processus en interne . udpMemberRecursiveCircularCheck] .

Cause

Ce problème survient parce que les procédures udpStagingSweep et udpStagingMemberAttributeSave appellent une fois la procédure udpMemberRecursiveCircularCheck pour chaque ligne intermédiaire. Ce comportement doit vérifier une valeur d’attribut basée sur le domaine et renvoie une erreur si la ligne intermédiaire entraîne une référence circulaire et les données existantes. Une fois toutes les lignes intermédiaires sélectionnées, vous recevez les résultats suivants :

  • Les lignes intermédiaires sans erreurs sont appliquées.

  • Les lignes intermédiaires contenant des erreurs sont signalées à l’aide d’un code d’erreur.

Si les conditions décrites dans la section « symptômes » sont vraies, le [GPM]. [ udpMemberRecursiveCircularCheck] effectue une boucle indéfiniment jusqu’à ce que les ressources serveur soient épuisées ou qu’un délai d’expiration se produit.

Résolution

Informations sur les mises à jour cumulatives

SQL Server 2008 R2 Service Pack 1

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 SP1, cliquez sur le numéro ci-dessous pour consulter l’article de la base de connaissances Microsoft :

2633146 Package de mise à jour cumulative 4 pour SQL Server 2008 R2 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 2008 R2 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 :

2567616 Builds SQL Server 2008 R2 publiées après la sortie de SQL Server 2008 R2 Service Pack 1

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.

Solution de contournement

Pour contourner ce problème, appliquez l'une des méthodes suivantes :

  • Pour éviter le problème, procédez comme suit :

    1. Examinez manuellement les valeurs de données de membre qui sont insérées dans la table intermédiaire avant d’exécuter le processus de mise en place.

    2. Assurez-vous que toutes les valeurs de membre pour n’importe quel attribut de domaine ne contiennent aucune référence circulaire décrite dans la section « symptômes ».

  • Lorsque le problème décrit dans la section « symptômes » s’affiche, procédez comme suit pour résoudre le problème :

    1. Identifiez la session qui s’exécute dans la boucle infinie.

    2. Interrompez la session pour arrêter la boucle.

    3. Supprimez les valeurs de référence circulaire de la table intermédiaire avant de traiter de nouveau la référence circulaire.

Remarques

  • Pour identifier la session à supprimer, utilisez l’une des méthodes suivantes :

    • Utilisez un moniteur d’activité dans Microsoft SQL Server Management Studio.

    • Faites une sélection à partir de la vue de gestion dynamique sys. sysprocesses ou sys.dm_exec_requests (DMV) pour identifier les sessions qui travaillent à l’intérieur de la base de données MDS dans lesquelles l’incrémentation du processeur et du temps est rapide. Assurez-vous que la requête actuelle en cours d’exécution sur la session correspond aux noms de procédure décrits dans la section « cause ».

  • Pour identifier la procédure en cours d’exécution pour les sessions, utilisez l’une des méthodes suivantes :

    • Cliquez avec le bouton droit sur le menu Détails de chaque processus dans la liste processus du moniteur d’activité.

    • Utilisez l’un des paramètres suivants :

      • Commande DBCC INPUTBUFFER (SPID) associée à l’ID de session.

      • La fonction SELECT * FROM sys.dm_exec_sql_text (sqlhandle) conjointement avec le paramètre de handle SQL correspondant lorsque vous utilisez la sortie DMV.

Références

Pour plus d’informations sur l’ouverture d’un moniteur d’activité dans SQL Server Management Studio, visitez le site Web MSDN suivant :

Ouverture d’un moniteur d’activité dans SQL Server Management StudioPour plus d’informations sur la syntaxe d' arrêt , visitez le site Web MSDN suivant :

Informations générales sur la syntaxe d’arrêtPour plus d’informations sur la sys.dm_exec_requests DMV, visitez le site Web MSDN suivant :

Informations générales sur la DMV de sys.dm_exec_requestsPour plus d’informations sur la sys.dm_exec_sql_text DMV, visitez le site Web MSDN suivant :

Informations générales sur la DMV de sys.dm_exec_sql_textPour plus d’informations sur la commande DBCC INPUTBUFFER , visitez le site Web MSDN suivant :

Informations générales sur la commande DBCC INPUTBUFFERPour plus d’informations sur le modèle de service incrémentiel pour SQL Server, cliquez sur le numéro ci-dessous pour consulter l’article de la base de connaissances Microsoft :

935897 Un modèle de maintenance incrémentiel est disponible auprès de l’équipe SQL Server pour obtenir des correctifs pour les problèmes signalésPour plus d’informations sur le schéma d’appellation des mises à jour de SQL Server, cliquez sur le numéro ci-dessous pour consulter l’article de la base de connaissances Microsoft :

822499 Nouveau schéma d’affectation de noms pour les packages de mise à jour logicielle Microsoft SQL ServerPour plus d’informations sur la terminologie des mises à jour logicielles, cliquez sur le numéro ci-dessous pour consulter l’article de la base de connaissances Microsoft :

824684 Terminologie standard utilisée pour décrire les mises à jour logicielles Microsoft

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.

×