以前はスケジュールで起動したら「dtsrun.exe」がかえってこなくなったんだけども、今度はアプリケーション エラーが発生!!
文句を言ってもはじまらんので、
腹をくくってトラブルシュート (゚Д゚#) !!!
SQL Server 2000でのお話。
日次でSQL Server Agentでスケジュールを組んで実行しているパッケージが、たまに失敗する。失敗したパッケージを手動でEnterprise Manager上から実行すると!?問題なく成功する。そもそも失敗するはずはないのに。
何故?
該当するパッケージは、パッケージ実行タスクを3層に分割して作成したもので、失敗するのは最下層のある特定のパッケージのみです。他のものは問題なく成功しているにもかかわらず、特定のパッケージのみなのです。しかも、再現性があるものでもない。
何故?
このことに関連するKBとして以下のものがあります。
・ [INF] 定期ジョブとして DTS パッケージを実行する方法
内容としてはセキュリティ コンテキストが異なるので注意しろという内容でして、実際に動作しているので今回の件とは関係ないと判断。
じゃぁ、何でよ?と思っていたら、今朝の実行結果では
「DTSRUN.exe」でアプリケーションエラーが発生していやがった。。。
(/´∇`)/ ~Φ
同時にSQLSERVERAGENTでイベントIDが318のものが
「Unable to read local eventlog (reason: システム コールに渡されるデータ領域が小さすぎます。). 」
という内容でエラーになっていた。
このエラーについては、以下のKBを見る限り無視。
・ PRB: SQL Server エージェントがイベント ID 318 のアプリケーションがデフォルトのデバッガのワトソン博士との Unhandled Exception エラーを生成すると、エラーを報告することがあります。
そこで、同じような問題に遭遇した人はいないものか?と検索。
そしたら、Σ(゚Д゚ υ) イタ!!
・ Google グループ : microsoft.public.sqlserver.server
・ SQL Server ユーザーグループ > コミュニケーション > 掲示板 > SQL Server 1年生にて「DTSのデータ変換タスクについて」で検索。
以上の内容から「データ変換タスク」の「挿入バッチ サイズ」を指定するように変更してみることにした。そもそも、この「挿入バッチ サイズ」と「DTSRUN.exe」との間に因果関係があるのか?まったくもって不明なんだけども。
この辺の内容って、リソキとかには書いているのだろうか。。
手元に無いから確認できんけども。
また、同時にエラーも漏らさず取得するために以下の2点も見直した。
(詳しいことはBOLで確認してください)
・ DTS パッケージ ログ
・ 行レベルのエラーの検出
後はエラーが起こったときに、原因がわかることを祈るばかり・・・(,,゚Д゚)†
コメント
やっぱりダメでした・・・
何が問題なんでしょう?
エラーも「致命的なエラーが発生しました!」って言われても
わからんて。。。
なので、試しに以下の処置を施してみました。
これでダメだったら?知らん!!w