3

BizTalk 用に 1 つの VM と、SQL バックエンド用に別の VM があります。基本的に VM のスナップショットを開始するバックアップに Veeam を使用しています。このスナップショットが SQL VM でファイナライズされると、アプリケーション サーバーの BizTalk サービスが失敗します。通常は自動的に再起動しますが、サービスを開始するには手動での介入が必要になる場合があります。以下のエラーが BizTalk サーバーに記録されます。

スナップショット プロセス中に BizTalk サービスを維持できるタイムアウト設定または構成変更はありますか?

BizTalk サービスを終了する必要があるエラーが発生しました。最も一般的な原因は次のとおりです。1) 予期しないメモリ不足エラー。または 2) BizTalk データベースの 1 つに接続できないか、接続が失われています。サービスは 1 分でシャットダウンし、自動再起動します。問題のあるデータベースが引き続き利用できない場合、このサイクルが繰り返されます。

エラー メッセージ: [DBNETLIB][ConnectionRead (recv()).]一般的なネットワーク エラーです。ネットワークのドキュメントを確認してください。エラーの原因:

BizTalk ホスト名: BizTalkServerApplication Windows サービス名: BTSSvc$BizTalkServerApplication

4

2 に答える 2

3

BizTalk 2009 と BizTalk 2013 の両方で同じ状況とエラーが発生し、それぞれに 2 つのアプリ サーバーと 1 つの SQL DB サーバーが設定されていました。

当社の VMware がアプリケーション サーバーでスナップショット バックアップの最終ステップを実行すると、アプリケーション サーバーが約 10 秒間フリーズし、パケットを受信できなくなります。SQL Server 2008 および 2012 では、デフォルトでキープアライブ パケットが 30 秒 (30,000 ミリ秒) ごとにクライアントに送信されます。SQL サーバーがアプリケーション サーバーからの応答を受信できなかった場合、キープアライブ リクエストを 1 秒 (1,000 ミリ秒) 間隔で 5 回 (既定の設定で) 再試行します。それでも SQL が応答を受信しない場合は、接続が終了し、アプリケーション サーバー上の BizTalk ホストがリセットされます。この場合、ドイツ製の ERP システムがその EDI ドキュメントを BizTalk に送信すると、その間に BizTalk に送信されます。リセット期間中、送信は失敗します。

DB サーバーとアプリ サーバーで NetMon を実行し、次のエラー メッセージを待つことで問題をトラップしました。調べてみると、5 つの SQL キープアライブ パケットが 1 秒間隔でアプリケーション サーバーに送信されていることがわかります。同時に、アプリケーション サーバーで受信されたパケットはまったくありませんでした。最初の推測では、「ネットワーク パケットがドロップされただけ」だと思うかもしれませんが、これはめったにありません。次に、VM スナップショットのタイミングとの相関関係を作成し、毎日スナップショットが終了するたびにアプリ サーバーがフリーズすることを確認しました。

短期から中期の回避策として、レジストリ値 TcpMaxDataRetransmissions を追加し、それを 30 に設定することで、接続が切断されたと宣言する前に SQL が試行する再試行回数を増やしました (デフォルトでは 5 回)。クライアントが応答しない)。これにより、現時点では問題が隠蔽されており、ご自身の判断で使用してください。

また、VM スナップショットのエージェント ベースのバージョンも検討しています。これにより、サーバーがフリーズする状況が緩和される可能性があります。

于 2014-09-23T20:46:42.310 に答える
1

スナップショット プロセス中に BizTalk サービスを維持できるようにするタイムアウト設定または構成の変更はありますか?

私が知っているわけではありませんが、BizTalk インストール ディレクトリにあるbtsntsvc.exe.configファイルの設定オプションを Google で検索することをお勧めします。

BizTalk を通過するすべてのメッセージは BizTalkMsgBoxDb に書き込まれ、追跡や BAM などを実行している場合は、他のデータベースが関与します。「内容」をキャッシュしてデータベースの停止を処理できる唯一のサービスは、エンタープライズ シングル サインオン (ESSO) です。サービス。したがって、BizTalk はデータベース サーバーへの永続的な接続を維持して「稼働」させる必要があります。そのため、ホスト インスタンス (BizTalkServerApplication) が停止している理由は、データベースが存在しない場合、単にメッセージを処理できないためです。

バックアップへのあなたのアプローチはおそらくマイクロソフトによってサポートされていないことを付け加えておきます。さらに、バックアップ中にデータベース サーバーをオフラインにするアプローチが実行可能かどうかを真剣に検討することをお勧めします。

BizTalk には、製品に組み込まれているさまざまなデータベースの非常に堅牢なバックアップ ソリューションがあり、このサポートされている方法を使用して確認することをお勧めします。

データベース システムのスナップショットを作成する必要がある場合 (たとえば、1 晩に 1 回)、BizTalk ホスト インスタンスを停止し、スナップショットを実行してから、スクリプト タスクを使用してホスト インスタンスを再起動することを検討してください。

また、問題の解決に役立つ可能性のある累積的な更新プログラムに含まれている、お使いのバージョンの BizTalk Server 用の修正プログラムがあるかどうかを確認することも検討してください。

于 2013-02-28T22:51:37.783 に答える