Résoudre les instances d’activité BAM incomplètes - BizTalk Server
BAM stocke les données des instances d’activité incomplètes dans une table de instance active spéciale de la base de données BAMPrimaryImport.
Si certains enregistrements d'instance ont été démarrés avant la dernière sauvegarde de la base de données BAMPrimaryImport et sont terminés après la sauvegarde, ils sont conservés dans une table des instances actives. En effet, après la restauration de la base de données BAMPrimaryImport, les enregistrements terminés pour ces instances sont perdus.
Si les enregistrements de la table des instances actives n'empêchent pas le fonctionnement correct de l'analyse BAM, il est recommandé de marquer ces enregistrements comme « terminés », puis de les déplacer hors de la table des instances actives.
Prérequis
Connectez-vous en tant que membre du groupe Administrateurs BizTalk Server.
Créer une liste d’ID d’activité incomplets
Exécutez la requête suivante sur la base de données BAMPrimaryImport :
Select ActivityID from bam_<ActivityName>_Active where IsComplete = 0
Si les données des systèmes externes indiquent que l'instance d'activité est terminée, exécutez la requête suivante pour terminer manuellement l'instance :
begin transaction exec bam_<ActivityName>_PrimaryImport @ActivityID=N'<ActivityID>', @IsStartNew=0, @IsComplete=1 commit transaction
Notes
Vous pouvez suivre le même processus pour terminer une activité de continuation en ActivityID
ContinuationID
remplaçant par .
Si la trace principale inclut des traces de continuation actives, elle reste active jusqu'à la fin des traces de continuation.
Supprimer les instances incomplètes
Vous pouvez également supprimer des instances d’activité incomplètes de la base de données BAMPrimaryImport à l’aide d’un script SQL personnalisé. Pour obtenir un exemple, consultez Supprimer des instances d’activité incomplètes .