none
SQLServer2000からSQLServer2008R2へのDTS移行 RRS feed

  • 質問

  • OS/SQLServerバージョン:

      ①Windows2000Server/SQL Server2000 SP4
      ②WindowsServer2008R2(x64)/SQL Server 2008 R2


    SQL Server 2000上で動作しているDTSを、SQL Server2008 R2 のSQL Server Business Intelligence Development Studioに取り込んで、そのままDTSとして(SSISにアップグレードしないで)使用したいと思っていますが、それに際し、わからないところがあります。 

    ◆行ったこと 

    ・SQLServer2008R2(x64)でDTSを動作させるための、以下のページにあるような設定は済んでます。 


    ・2008R2側のSQL Server Business Intelligence Development Studio から、 
    「DTS2000パッケージを移行」 で、プロジェクトにWindows2000版のDTSを取り込みました。その際、エラーメッセージの表示などはなく、成功しています。 

    ・2008R2側のSQL Server Business Intelligence Development Studio上でDTSを実行させると動作します。ただ、動作の内容が、2000と2008R2で異なっており、2000で正常終了するものが、2008R2ではDTSの途中の、VBScriptを記述している箇所でエラーとなり、終了します。エラーの内容は、以下の通りです。

    DTS_E_VARIABLENOTFOUND
    変数が見つかりません。 このエラーは、パッケージの実行中にコンテナーの Variables コレクションから変数を取得しようとしたときに、その変数がない場合に発生します。 変数名が変更されたか、変数が作成されていない可能性があります。



    ◆わからないこと。 

    上記エラーの発生する原因を調べると、以下のことがわかりました。

    SQLServer 2000版の各DTSパッケージには、DTSパッケージのプロパティ - グローバル変数 タブに「明示的な外部変数」というチェックボックスがあり、それがoffに設定されて使用されていたみたいなのです。 

    これがoffだと、外部変数の明示的な宣言の義務から解放されます。

    しかし、SQLServer 2008 R2 のSSIS上の各DTSパッケージは、デフォルトで「明示的な外部変数」がonの動作になっているようで、そのため「未定義の外部変数にアクセスをした」ということでエラーが発生し、途中で終了しています。

    そして、これをoffに設定する機能がSQLServer2008R2のSQL Server Business Intelligence Development Studio内のどこにあるのか、見つからないのです。 


    この点につきまして、ご存知の方、教えていただけますと幸いです。 


    2011年2月22日 4:26