質問: いつもお世話になっています、今回はWindowsServer2012でのエラーメッセージ(Application Error、.NET Runtime)について、教えてください。 ### 前提 2台のWindowsServer2012(仮想サーバーなので実質1台)に、SQLServer2014と、Webアプリをそれぞれ実装しています。 その中で、SQLServer側にタスクスケジューラとして、毎日帳票出力のバッチを起動するタスクがセットされています。 このタスクは毎日18時に起動して、トリガーされた後に、1時間ごとに無期限に繰り返します。 ただし、このタスクスケジューラは、毎時起動には成功しているようですが、バッチファイルが実行されていないように見えます。 イベントビューアーのログを見てみると、2016/03/25 0:00:00より毎時二つのエラーが発生していました。 レベル:エラー ソース:.NET Runtime イベントID:1026 タスクのカテゴリ:なし レベル:エラー ソース:Application Error イベントID:1000 タスクのカテゴリ:(100) なぜ、このタイミングからエラーによって失敗しているのかが分かりません。 原因の一つとして考えられるのは、前任者が前日(2016/03/24)に、 「自分がいなくなるからサーバーバッチ起動用のIDとパスを設定しておいたから」 という言葉が気になっています。 プログラム自体はその前日まで走っていたものなので、想定ではプログラムの方は問題ないはずです。 次際にタスク側を見てみると、 タスクの実行時に使うユーザーアカウントが、バッチ用のアカウントに変更されています。 (ユーザーがログオンしているかどうかにかかわらず実行する、パスワードを保存しないにチェックが入っています) まず、何が問題なのかを切り分けようと思っているのですが、他のチェック項目を変更したり、 ユーザーアカウントを変更したりしても結果が変わりませんでした。 実現したいこと ------- ・どのような切り口で、問題を特定すればよいでしょうか? ・また、原因がプログラムで無い場合はどのように修正したらよろしいでしょうか? 前置きが無くなりましたが、よろしくお願いします ### 発生している問題・エラーメッセージ * System - Provider [ Name] .NET Runtime - EventID 1026 [ Qualifiers] 0 Level 2 Task 0 Keywords 0x80000000000000 - TimeCreated [ SystemTime] 2016-03-24T15:00:00.000000000Z EventRecordID 6342 Channel Application Computer ServerName.xx.xxxx.com Security * EventData アプリケーション:Ap_BatchApp.exe フレームワークのバージョン:v4.0.30319 説明: ハンドルされない例外のため、プロセスが中止されました。例外情報:System.UnauthorizedAccessException スタック: 場所 System.IO.__Error.WinIOError(Int32, System.String) 場所 System.IO.File.InternalDelete(System.String, Boolean) 場所 System.IO.File.Delete(System.String) 場所 Ap_BatchApp.Utils.LogManager.SetUp() 場所 Ap_BatchApp.Program.Main(System.String[]) * System - Provider [ Name] Application Error - EventID 1000 [ Qualifiers] 0 Level 2 Task 100 Keywords 0x80000000000000 - TimeCreated [ SystemTime] 2016-03-24T15:00:01.000000000Z EventRecordID 6343 Channel Application Computer ServerName.xx.xxxx.com Security * EventData Ap_BatchApp.exe 1.0.0.0 56cbfa20 KERNELBASE.dll 6.3.9600.17055 532943a3 e0434352 00011d4d 1be4 01d185ddd669f45c C:\ApBatch\Ap_BatchApp.exe C:\Windows\SYSTEM32\KERNELBASE.dll 1523eaf9-f1d1 ### 補足情報(言語/FW/ツール等のバージョンなど) C#/ASP.NET Framework 4.5/ ASP.NET MVC 5.2.3/ VisualStudio Pro
回答: 続報というか、他にも問題はありそうなので、追記しておきます。 ・ファイルを直接編集・保存できない バッチファイルの中身を調査し、内容に不適切な個所があったので、修正して保存しようとしたところ上書き保存ができませんでした。 理由:ファイルのデータオーナーが前任者になっていたため 対応方法:ファイルのプロパティ→セキュリティの詳細設定→変更で所有者を自身にしてOK ※これが正式な方法なのかはわかりませんが、自分はこれでできるようになりました ・エラーは出なくなったが、実行結果がエラーになるときがある 1時間ごとに起動するタスクスケジューラによって、バッチファイルを開始させていますが、タスク自体は実行されているものの、処理が正しく行われていないようです。 となると、やはりプログラム側(バッチファイルに限らず)が問題なのかなと思います。 手動でバッチを起動するときは実行結果は正しくなるのですが、昨日設定した夜間バッチは残念ながらエラーが帰ってきてしまってました。