2

ほとんどの BT アプリケーションを BizTalk 2009 から BizTalk 2010 環境に移動した後、古いアプリケーションと使用されていないホストを削除する作業を開始しました。このプロセスで、最終的にゾンビのホスト インスタンスが作成されました。

これにより、bts_CleanupDeadProcesses startet が「ユーザーとして実行: RH\sqladmin. ストアド プロシージャ 'dbo.int_ProcessCleanup_ProcessLabusHost' が見つかりませんでした。[SQLSTATE 42000] (エラー 2812)。ステップは失敗しました。」</p>

CleanupDeatProcess プロセスを調べたところ、BTMsgBox.ProcessHeartBeats テーブルにゾンビ ホスト インスタンスが見つかり、dtNextHeartbeatTime はホストが削除された時刻に設定されていました。

4

2 に答える 2

0

(ホスト インスタンス プロセスがサービスに存在しなくなり、SQL エージェント ジョブが失敗したと仮定しています)

[dbo].[bts_CleanupDeadProcesses]ジョブのソースを見ると、「デッド」ハートビートを探してdbo.ProcessHeartbeatsカーソル ( 、笑) を使用してテーブルをループします。btsProcessCurse

各プロセス インスタンスには、独自のクリーンアップsprocint_ProcessCleanup_[HostName]と、ハートビート ウォッチドッグが呼び出すbts_ProcessHeartbeat_[HostName]sproc がありますWHERE (s.dtNextHeartbeatTime < @dtCurrentTime)

したがって、削除された/ゾンビ ホストのレコードを削除するだけの誘惑に駆られます (または、それほど勇敢でない場合はdtNextHeartbeatTime、死んだホスト インスタンスのハートビート レコードの Next を次の世紀に更新するだけです)。いずれにせよ、SQL エージェント ジョブはデッド インスタンスをスキップする必要があります。

別の方法として、Admin Console を使用してホストとインスタンスを同じ名前で再作成し、それらを (適切に) 再度削除することもできます。ただし、オブジェクトが削除されていないため、BizTalk が上記の 2 つの SPROC を作成できないため、これにより追加の問題が発生する可能性があります。

ただし、最初に試用して動作することを確認するまで、本番環境でこれを行うことは明らかにありません。

他の誰かがここで同様の状況に陥ったようです

また、XiaoDong Zhu によるハートビート メカニズムの詳細については、こちらを参照してください

于 2012-10-23T13:25:50.917 に答える
0

BTSTerminator を試しましたか? これは、1 回限りのクリーンアップで機能します。

http://www.microsoft.com/en-us/download/details.aspx?id=2846

于 2014-01-30T19:26:51.897 に答える