不完全な BAM アクティビティ インスタンスを解決する - BizTalk Server
BAM は、不完全なアクティビティ インスタンスのデータを BAMPrimaryImport データベースの特殊 なアクティブ なインスタンス テーブルに格納します。
一部のインスタンス レコードが BAMPrimaryImport データベースの最後のバックアップの前に開始され、バックアップ後に完了した場合、それらのインスタンス レコードはアクティブなインスタンス テーブルに残ります。 これは、BAMPrimaryImport データベースが復元された後、これらのインスタンスの完了レコードが失われるからです。
アクティブ インスタンス テーブルに残ったレコードが、BAM の正常な機能を阻害することはありませんが、これらのレコードは "完了" としてマークし、アクティブ インスタンス テーブルから取り除くことをお勧めします。
前提条件
BizTalk Server Administrators グループのメンバーとしてサインインします。
不完全な ActivityID の一覧を作成する
BAMPrimaryImport データベースに対し、次のクエリを実行します。
Select ActivityID from bam_<ActivityName>_Active where IsComplete = 0
外部システムからのデータがアクティビティ インスタンスが実際に完了したことを示す場合は、次のクエリを実行してインスタンスを手動で完了します。
begin transaction exec bam_<ActivityName>_PrimaryImport @ActivityID=N'<ActivityID>', @IsStartNew=0, @IsComplete=1 commit transaction
Note
を に置き換えることでActivityID
ContinuationID
、同じプロセスに従って継続アクティビティを完了できます。
アクティブな継続トレースがメイン トレースに存在した場合、メイン トレースは、その継続トレースが完了するまでアクティブな状態のままとなります。
不完全なインスタンスを削除する
また、カスタム SQL スクリプトを使用して、BAMPrimaryImport データベースから不完全なアクティビティ インスタンスを削除することもできます。 サンプルについては、「 不完全なアクティビティ インスタンスを削除する 」を参照してください。