解决不完整的 BAM 活动实例 - BizTalk Server

BAM 在 BAMPrimaryImport 数据库中的特殊活动实例表中存储不完整 活动实例 的数据。

如果某些实例记录在 BAMPrimaryImport 数据库的最后一次备份之前启动,但在备份后完成,则这些实例记录将保留在活动实例表中。 这是因为在还原 BAMPrimaryImport 数据库后,这些实例的完成记录将丢失。

尽管活动实例表中的记录不会阻止 BAM 正常运行,但建议将这些记录标记为“已完成”,然后将其移出活动实例表。

先决条件

以 BizTalk Server 管理员组的成员身份登录。

创建不完整的 ActivityID 列表

  1. 针对 BAMPrimaryImport 数据库运行以下查询:

    Select ActivityID from bam_<ActivityName>_Active where IsComplete = 0  
    
  2. 如果来自外部系统的数据指示活动实例实际上已完成,请运行以下查询以手动完成该实例:

    begin transaction
    exec bam_<ActivityName>_PrimaryImport @ActivityID=N'<ActivityID>', @IsStartNew=0, @IsComplete=1  
    commit transaction
    

注释

你可以按照相同的过程完成延续活动,方法是将 ActivityID 替换为 ContinuationID

如果主跟踪具有任何活动延续跟踪,则它将保持活动状态,直到延续跟踪完成。

删除不完整的实例

还可以使用自定义 SQL 脚本从 BAMPrimaryImport 数据库中删除不完整的活动实例。 有关示例,请参阅 “删除不完整的活动实例 ”。

另请参阅

备份和还原 BAM