Gestion des tables MessagesToLOB et MessageContent dans BTARN

Cet article fournit des informations sur la gestion MessagesToLOB des tables et MessageContent dans Microsoft BizTalk Accelerator pour RosettaNet (BTARN).

Version d’origine du produit : BizTalk Server 2013, 2010
Numéro de la base de connaissances d’origine : 2897398

Résumé

Les scripts documentés dans la section Supprimer les enregistrements de la table MessagesToLOB et Supprimer les enregistrements dans la table MessageContent ci-dessous conservent les MessagesToLOB tables et MessageContent . La MessagesToLOB table s’agrandit à mesure que les messages sont traités. Le processus privé achemine les messages entrants vers la MessagesToLOB table dans la base de données BTARNDATA SQL Server, en route vers l’application métier. La même chose se produit avec la MessageContent table. Chaque fois qu’un pipeline d’envoi ou de réception traite un message, le pipeline crée une activité de message. Le pipeline crée un enregistrement d’activité de message dans la MessageContent table. L’enregistrement contient le contenu du message, y compris le contenu du service et les en-têtes.

Remarque

  • Vous devez tester minutieusement les scripts dans votre environnement de test avant de les exécuter dans un environnement de production. Vous pouvez également créer des travaux SQL Agent pour les exécuter selon une planification.
  • Consultez la documentation du produit BTARN pour obtenir une documentation complète sur la façon dont BTARN traite un message. La description complète dépasse le cadre de cet article de la Base de connaissances.

Supprimer des enregistrements dans la table MessagesToLOB

Pour supprimer des enregistrements dans la MessagesToLOB table, vous devez modifier l’argument dans la DATEADD fonction utilisée dans la Delete requête. Dans la requête ci-dessous, le paramètre -7 signifie que la requête supprime les enregistrements datant de plus de sept mois.

USE BTARNDATA
DELETE from [BTARNARCHIVE].[dbo].[MessagesToLOB] WHERE TimeCreated < DATEADD(mm,-7,GETDATE())

Supprimer des enregistrements dans la table MessageContent

Pour supprimer des enregistrements dans la MessageContent table, vous devez modifier le paramètre @MonthValue. Dans la requête ci-dessous, la valeur -2 signifie que la requête supprime les enregistrements datant de plus de deux mois.

USE BTARNARCHIVE
declare @MonthValue as int
set @MonthValue = -2
DELETE from [BTARNARCHIVE].[dbo].[MessageContent]
WHERE ContentXml IS NOT NULL
AND CONVERT(DATETIME,SUBSTRING(ContentXml,
charindex('<DateTimeStamp>20',ContentXml)+15,8),101) < DATEADD(MM,@MonthValue,GETDATE())