DTS:何故かエラーになる? その1

以前はスケジュールで起動したら「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 パッケージ ログ
行レベルのエラーの検出

後はエラーが起こったときに、原因がわかることを祈るばかり・・・(,,゚Д゚)†

DTS:何故かエラーになる? その1

DTS:何故かエラーになる? その1” への1件のフィードバック

  1. やっぱりダメでした・・・

    何が問題なんでしょう?
    エラーも「致命的なエラーが発生しました!」って言われても
    わからんて。。。

    なので、試しに以下の処置を施してみました。

    1. 複数のパッケージを並列でパッケージ実行タスクにて実行してたが、直列で動作させるように変更する。変更内容としては、「並列実行するタスクの最大数を制限」の設定値を「4」から「1」に変更。
    2. 使用しないパッケージのバージョンを削除
    3. データソース毎のパッケージでデータ変換タスクをワークフローのプロパティでメイン スレッドで実行するように変更
    4. データ変換タスクの中で追加で実装した変換のActiveXスクリプト内にあるコメントを削除

    これでダメだったら?知らん!!w

コメントを残す