删除孤立附件

Microsoft BizTalk Accelerator for RosettaNet (BTARN) 存储收到的邮件的附件。 在某些情况下,BTARN 会保存附件,但会从 MessagesToLOB 表中删除关联的邮件,从而导致孤立附件。 当你提交包含附件且清单无效的邮件(例如,NumberOfAttachments = 0 的清单)时,可能会发生这种情况。 可能需要定期删除孤立附件以保持系统性能。

如何删除孤立附件

BTARN 将附件存储在 BTARNDATA 数据库的“附件”表中。 BTARN 将关联的消息存储在 MessagesToLOB 表中。 当附件具有 outMessageID 与 MessagesToLOB 表中邮件的 属性不对应的 MessageID 属性时,将生成孤立附件。

您可能需要定期地使用存储过程删除表中的附件,该过程仅删除在 MessagesToLOB 表中没有相符的消息的附件。 存储过程的 SQL 语句示例如下所示:

delete from attachments where outMessageID not in (select messageid from messagestolob)  

此外,建议删除已存在了一定时间的附件,并且删除时不需要任何其他的检查。 Attachments 表包含 TimeCreated 可用于删除旧附件的属性。 此过程与用于删除旧摘要的过程相似。 有关用于删除旧摘要的存储过程的示例 SQL 语句,请参阅 删除摘要

同时建议对 Attachments 和 MessagestoLOB 表中各自的 MessageID 列编制索引。

另请参阅

维护 BTARN 数据库