La mise en lots basée sur les entités MDS peut échouer lorsqu’une valeur d’étiquette Batch en double est utilisée dans SQL Server 2012
Cet article vous aide à résoudre le problème où la mise en lots basée sur des entités Master Data Services (MDS) peut échouer lorsqu’une valeur de balise Batch en double est utilisée dans SQL Server 2012.
Version d’origine du produit : SQL Server 2012
Numéro de la base de connaissances d’origine : 2712547
Symptômes
Prenons l’exemple du scénario suivant :
Vous utilisez le processus de préproduction basé sur les entités MICROSOFT SQL Server 2012 MDS pour importer des données dans MDS.
Vous remplissez différentes tables intermédiaires MDS (stg.name) avec les données intermédiaires à l’aide de la
BatchTag
colonne pour identifier le lot.Vous utilisez la même
BatchTag
valeur pour remplir une table de mise en lots distincte qui appartient à une entité différente dans un modèle MDS différent.Vous exécutez les procédures stockées nécessaires pour démarrer le traitement par lots. Vous pouvez également démarrer le lot intermédiaire à partir de la zone fonctionnelle Gestion de l’intégration sur le site web MDS.
Lorsque vous démarrez le processus intermédiaire, vous utilisez l’une des trois procédures stockées :
stg.udp_name_Leaf
stg.udp_name_Consolidated
stg.udp_name_Relationship
Remarque
L’espace <réservé de nom> est le nom de la table de mise en lots qui a été spécifiée lors de la création de l’entité.
Les exemples suivants montrent comment démarrer le processus intermédiaire à l’aide de la procédure stockée intermédiaire :
exec mds.stg.udp_entityname1 'versionAdescription',0,'batchtag'
exec mds.stg.udp_entityname2 'versionBdescription',0,'batchtag'
Dans ce scénario, vous recevez le message d’erreur suivant lorsque vous démarrez le processus intermédiaire :
MDSERR310029
La status du lot spécifié n’est pas valide.
En outre, lorsque vous case activée le lot status, vous remarquez que le lot qui a la BatchTag
valeur reste indéfiniment bloqué dans status En cours d’exécution.
Remarque
Vous pouvez case activée le status de lot à partir du site web MDS en cliquant sur Gestion de l’intégration, puis en sélectionnant le modèle pour afficher le status ou en interrogeant la [mdm].[tblStgBatch]
table.
Cause
Ce problème se produit parce que le processus intermédiaire basé sur les entités MDS vérifie l’status BatchTag
quel que soit le modèle MDS.
Résolution
Si votre lot est bloqué dans l’status en cours d’exécution, arrêtez le processus de traitement par lots, puis réessayez de traiter le lot. Pour arrêter le processus de traitement par lots, exécutez l’instruction SQL : Exec [mdm].[udpStagingBatchQueueActivate]
pour résoudre ce problème, mettez à jour la valeur BatchTag dans la table intermédiaire pour les enregistrements avec un nouveau nom. En outre, vérifiez que le importstatus_ID
champ est défini sur 0 pour les enregistrements.
Plus d’informations
Pour plus d’informations sur le démarrage du processus intermédiaire, accédez au site web suivant :
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour