Maintenance des tables des bases de données de non-répudiation
Microsoft BizTalk Accelerator pour RosettaNet (BTARN) stocke les messages à des fins de non-répudiation dans les tables MessageStorageIn et MessageStorageOut de la base de données BTARNArchive. De nombreux messages de ces tables peuvent affecter les performances du système. Vous souhaiterez peut-être conserver ces tables de base de données de non-répudiation en purgeant et en archivant régulièrement les messages de ces tables, le cas échéant.
Maintenance de base de données de routine
Lorsque BTARN reçoit un message, il enregistre toujours le message dans la table MessageStorageIn et définit initialement le champ ToBePurged sur « 1 », ce qui indique que le message ne nécessite pas de non-répudiation. BTARN déchiffre et décode ensuite le message pour déterminer quel est l’accord. Après le déchiffrement et le décodage, BTARN examine l’accord pour voir s’il doit enregistrer le message à des fins de non-répudiation. Si c’est le cas, il définit le champ ToBePurged sur « 0 » et remplit les autres champs du message. Si ce n’est pas le cas, il laisse le champ ToBePurged comme « 1 » et ne renseigne pas les autres champs du message.
BTARN ne supprime pas automatiquement les messages avec le champ ToBePurged défini sur « 1 ». En outre, il n’archive pas les messages enregistrés pour la non-répudiation dans d’autres tables. Ces deux ensembles de messages peuvent s’accumuler dans la table MessageStorageIn et affecter les performances. Dans le cadre de la maintenance de routine sur la base de données, vous pouvez effectuer les opérations suivantes :
Exécutez une procédure stockée contenant l’instruction SQL suivante pour supprimer tous les messages de la table MessageStorageIn dont le champ ToBePurged n’est pas égal à « 0 » :
delete MessageStorageIn where ToBePurged <> 0
Après une période appropriée (que la stratégie d’entreprise peut dicter), exécutez une procédure stockée pour archiver les messages de non-répudiation dans une base de données hors connexion qui n’affectera pas les performances. Vous pouvez déterminer cette période à l’aide du champ TimeCreated dans la table MessageStorageIn. Une fois la période de non-répudiation d’un message expirée, vous pouvez supprimer le message de la base de données d’archivage à l’aide de l’instruction SQL suivante (qui supprime les messages antérieurs à sept jours) :
delete <archive table name> where datediff(d, TimeCreated, GetUTCDATA())>7
Notes
Le champ TimeCreated de la table MessageStorageIn est en UTC.
Notes
Vous ne devez pas supprimer un message entrant datant de moins d’une heure.
Quand BTARN envoie un message sortant, il a accès à l’accord de non-répudiation. Si l’accord nécessite une non-répudiation, BTARN enregistre le message dans la table MessageStorageOut. Si ce n’est pas le cas, il n’enregistre pas le message dans le tableau. Cela signifie qu’il n’est pas nécessaire d’utiliser un champ ToBePurged dans cette table. La seule maintenance requise pour la table MessageStorageOut consiste à archiver les messages de non-répudiation dans une base de données hors connexion après une période appropriée et à supprimer chaque message après l’expiration de sa période de non-répudiation. Vous pouvez le faire avec l’instruction SQL suivante (qui supprime les messages antérieurs à sept jours) :
delete MessageStorageOut where datediff(d, TimeCreated, GetUTCDATA())>7
Voir aussi
Traitement des messages RNIF
Gérer la configuration, les certificats, les bases de données et la sécurité