解决不完整的 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
    

注意

可以通过将 替换为 ActivityIDContinuationID来遵循相同的过程来完成延续活动。

只要主跟踪有任何活动的继续符跟踪,则该主跟踪将一直保持活动状态,直到继续符跟踪完成。

删除不完整的实例

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

另请参阅

备份和还原 BAM