- PR -

旧バージョンのDTSパッケージが自動実行されてしまう?

1
投稿者投稿内容
ごんた
会議室デビュー日: 2005/06/27
投稿数: 18
投稿日時: 2006-05-31 17:56
何度目かの投稿になります、ごんたと申します。

環境:WindowsServer2003+SqlServer2000

簡単なオブジェクトコピーのDTSパッケージ + それを
起動するC#のAPを作成し、
市販のJOBツールにて、毎日定時起動で処理実行して
問題無く動いていたのですが、

ある日上記DTSパッケージをエンタープライズマネージャ
のパッケージ一覧から、右クリック→パッケージの実行を
行ったところ、
何故か旧バージョンのパッケージが動いてしまったらしく、
(旧バージョンは元々動作に問題があった為)異常終了して
しまいました。

「旧バージョンが動いた」というのは、パッケージログから
判断した結果なのですが、
同日の定時起動で同じDTSパッケージが動いたタイミングでは
新バージョンのパッケージが動いていました。

ネットやMSDNで調べても載っていなかったのですが、
パッケージの起動方法等によって、旧バージョンの
パッケージが動いてしまう事があるのでしょうか?
TLC
大ベテラン
会議室デビュー日: 2005/05/31
投稿数: 152
お住まい・勤務地: 東京都
投稿日時: 2006-06-01 12:30
引用:

ごんたさんの書き込み (2006-05-31 17:56) より:

ネットやMSDNで調べても載っていなかったのですが、
パッケージの起動方法等によって、旧バージョンの
パッケージが動いてしまう事があるのでしょうか?




お疲れ様です。
TimberLandChapel です。
#PASSJ のメーリングリストにも投稿されているようですが,

まず,
ごんたさんがおっしゃっておられる
「旧バージョン」「新バージョン」
というパッケージはどのように配置されているか教えてください。

SQL Server にパッケージ保存されていますか?
構造化ストレージファイルに保存されていますか?

C#からキックしているパッケージと
SQL Server に保存されているパッケージとを確認してください。

同じパッケージをキックしているのに,
新旧が存在する保存の方式を教えてください。そこから糸口がつかめると思います。

よろしくお願いいたします。

----------
TimberLandChapel
2006.06.03 Workshop 開催
http://blogs.timberlandchapel.com/blogs/workshop/archive/2006/04/20/711.aspx
ごんた
会議室デビュー日: 2005/06/27
投稿数: 18
投稿日時: 2006-06-01 14:34
TLC殿

ご返信本当にありがとうございました。
そして、マルチポスト失礼しました。
急なトラブルで、かつ 余りレスを期待出来ない質問内容かも
と思いましたので、マルチで投稿しました。

さて、ご質問に回答させて頂きます。

>「旧バージョン」「新バージョン」
>というパッケージはどのように配置されているか教えてください。

パッケージを変更+上書き保存すると、その度に1パッケージ内で
バージョンが作成されますが、私が書いたのは、同方法で作成した
2バージョン(「旧バージョン」「新バージョン」)の事です。

ですので、パッケージの実体はSQL Serverに1つのみ存在しており、
その1パッケージ内に2つのバージョンが存在している事になります。

>SQL Server にパッケージ保存されていますか?
>構造化ストレージファイルに保存されていますか?

繰り返しになりますが、SQL Server にパッケージ保存しています。

>C#からキックしているパッケージと
>SQL Server に保存されているパッケージとを確認してください。

同名のパッケージはSQL Serverに1つのみ、ですので、同じだと
思われます(構造化ストレージファイル保存はしていません)。

>同じパッケージをキックしているのに,
>新旧が存在する保存の方式を教えてください。

またもや繰り返しになりますが、初回投稿の私の説明が悪くて
申し訳ありません。
パッケージ内部のバージョンですので、実体は1つです。

ちなみに、以前同パッケージをリリースの際は、デザイナで
パッケージを開いた状態で、実行ボタン押下でテストを行い、
新バージョンのパッケージが正しく動作する事を確認しました。

また、(初回投稿にも書きましたが)現在定時起動している
C#のAPからのパッケージ起動でも、新バージョンのパッケージが
動作している事は確認出来ているのですが、

何故か先日、オペレータがパッケージを手動起動した際には
旧バージョンのパッケージが動作した様なのです。。。

※上記「どちらのバージョンのパッケージが動作したのか」の
 判断は、いずれもパッケージログで行っています。

以上です。よろしくお願い致します。
TLC
大ベテラン
会議室デビュー日: 2005/05/31
投稿数: 152
お住まい・勤務地: 東京都
投稿日時: 2006-06-29 01:11
引用:

パッケージ内部のバージョンですので、実体は1つです。

ちなみに、以前同パッケージをリリースの際は、デザイナで
パッケージを開いた状態で、実行ボタン押下でテストを行い、
新バージョンのパッケージが正しく動作する事を確認しました。

[中略]

何故か先日、オペレータがパッケージを手動起動した際には
旧バージョンのパッケージが動作した様なのです。。。



TimberLandChapel です。
カメレスです。

なるほど,通常通り
SQL Server 保存のパッケージのバージョンで古いものを消さない状態で運用している
ということですね。

いくつか誤動作させようと思ってオペレーションを繰り返してみたのですが,
・新しいバージョンに古いバージョンを明示的に上書きしてしまう。
・もしくは,古いバージョンを明示的に指定してキックする

としないと自分の環境では古いバージョンは動きませんでした。
単に右クリックした場合は古いバージョンが動きようがないですね。。。

Meta Data Service を利用した環境は構築していないので,こちらは未検証ですが。

気になるようでしたら,
現在のパッケージを構造化ストレージファイルにバックアップして,
サーバーに残すパッケージは古いバージョンの履歴をクリアしてしまってはいかがでしょうか?

----------
TimberLandChapel
http://blogs.timberlandchapel.com/blogs/timberlandchapel/
1

スキルアップ/キャリアアップ(JOB@IT)