2009-04-20 29 views
0

今、私はWindows Server 2003上でデバイスからデータベースにデータを入力するためのサービスアプリケーションをいくつか持っています。Windowsサービスのトラブルシューティング、回復の設定?

サービスを再起動する必要があるデータエラーやその他の問題(データベース接続の問題、インターネット接続のダウンなど)によってサービスが失敗することがあります。現在、この問題を解決するソリューションはNETを使用する単純なバッチコマンドでした1時間ごとにスケジュールされたSTART/STOPコマンド。

サービスプロパティのリカバリタブを見て、サービスを再開するためのオプションがありました。テストする方法を知りたいのですが?そのような、どのようにWindowsは、サービスが失敗した知っている?そして、最も重要なのは、障害が発生したとき(復旧設定に基づいて)サービスが正常に再開したことを知る方法でしたか?

PS:私は、未処理の例外のときに、サービスのクラッシュで

おかげ

答えて

2

サービスコンソールの自動再起動キックをコードへのアクセス権を持っていませんでした。 (コードの一部で例外がスローされますが、何もキャッチせずに、メイン関数の上に出てきてしまいます)

コードを制御できるのであれば、問題の原因となりがちなエラーをより効果的に処理する領域のブロックを試してみてください。また、アプリケーションのメインエントリポイントの周りにtry/catchを配置して、コードから未処理の例外をキャッチして処理しようとすることもできます。

コードを制御できない場合は、これらのエラーの1つを強制的に実行して、自動サービス回復をテストできます。接続に問題が発生した場合にクラッシュをサービスする場合は、コンピュータのネットワークケーブルを外して強制的にこれを行うことができます。

+0

私のプロダクションサーバーにあり、コードにアクセスできなかったので、すぐにテストすることはできませんが、すぐに開発サーバーを展開しようとします。 Btw障害が発生した場合にサービスを再開する方法を教えてください。 – Dels

+0

サービスのロギング設定はありますか?そうでない場合は、サービスコンソールが障害後に実行されているかどうかを確認するだけです。 –

0

復旧オプションをテストする最も簡単な方法は、サービスのプロセスをタスクマネージャから削除することです。 Windowsはそれを検出し、最初の障害回復オプションを実行します。その後のキルは、2回目の失敗と後続の失敗のオプションをテストします。イベントログには、終了と実行されたアクションが記録されます。

環境とサービスによっては、であるため、実行可能なオプションである場合とそうでない場合があります。

0

以前の時点に戻すことができます。サーフェスを復元しても個人用のファイルは変更されませんが、最近インストールされたアプリケーションやドライバは削除される可能性があります。

1.画面の右端からスワイプし、[検索]をタップします。 (マウスを使用している場合は、画面の右上をポイントし、マウスポインタを下に移動して[検索]をクリックします)。

2.検索ボックスにコントロールパネルを入力し、コントロールパネル。

3.コントロールパネルの検索ボックスで回復を入力し、[回復]をタップまたはクリックします。

4.システム復元を開く、または開くをクリックし、指示に従います。

関連する問題