Integration Services パッケージのアップグレード

適用対象:SQL Server Azure Data Factory の SSIS Integration Runtime

古いバージョンのSQL Serverを現行リリースにアップグレードすると、既存のSQL Server Integration Services(SSIS)パッケージが、現在のリリースで使われているパッケージ形式に自動的にアップグレードされない場合があります。 この場合、アップグレード方法を選択し、手動でパッケージをアップグレードする必要があります。

重要

SQL Server 2012(11.x)をSQL Server 2014(12.x)以降のバージョンにアップグレードする際は、アップグレード後に元のSQL Server 2012(11.x)インスタンスを削除してください。 SQL Serverの拡張セキュリティアップデートに加入している場合、両方のインスタンス分の料金が請求されます。

プロジェクトをプロジェクト展開モデルに変換する際のパッケージのアップグレードについては、「 Deploy Integration Services(SSIS)プロジェクトおよびパッケージ」をご覧ください。

アップグレード方法を選択する

古いバージョンのSQL Serverでは、SSISパッケージをアップグレードするために様々な方法を使うことができます。 これらの方法の一部では、アップグレードは一時的なものにすぎません。 一方、他のユーザーには、このアップグレードは永続的です。 次の表に、それらの各方法とアップグレードが一時的か永続的かを示します。

SQL Server 2014(12.x)以前のバージョンパッケージを、SQL Serverの最新リリースにインストールされたdtexecユーティリティ(dtexec.exe)を使って実行すると、一時的なパッケージアップグレードによって実行時間が延長されます。 パッケージ実行時間の増加比率は、パッケージのサイズに応じて異なります。 実行時間の増加を避けるために、実行前にパッケージをアップグレードしてください。

バージョンにバインドされるSSIS関連アセンブリを参照するスクリプトコンポーネントの場合、アップグレードプロセスではこれらのコンポーネントは変更されません。 新しいバージョンへの参照を手動で更新する必要があります。

アップグレード方法 アップグレードの種類
SQL Serverの最新リリースにインストールされているdtexecユーティリティ(dtexec.exe)を使用して、SQL Server 2008(10.0.x)、SQL Server 2008 R2(10.50.x)、SQL Server 2012(11.x)、SQL Serverまたは2014(12.x)パッケージを動かしてください。

詳細については、「dtexec ユーティリティ」を参照してください。
パッケージのアップグレードは一時的です。

その変化は救いがつきません。
SQL Server Data Tools (SSDT) で、SQL Server 2008 (10.0.x)、SQL Server 2008 R2 (10.50.x)、SQL Server 2012 (11.x)、または SQL Server 2014 (12.x) パッケージ ファイルを開きます。 パッケージを保存すればアップグレードは永久的です。そうでなければ、保存しなければ一時的な状態になります。
SQL Server Data Tools (SSDT) で、SQL Server 2008 (10.0.x)、SQL Server 2008 R2 (10.50.x)、SQL Server 2012 (11.x)、または SQL Server 2014 (12.x) パッケージを既存のプロジェクトに追加します。 パッケージのアップグレードは永続的です。
SQL Server 2008 Integration Services (SSIS) で Visual Studio以降のプロジェクト ファイルを開き、 SSIS パッケージ アップグレード ウィザードを使用してプロジェクト内の複数のパッケージをアップグレードします。

詳細については、「 SSIS パッケージ アップグレード ウィザードを使用した Integration Services パッケージのアップグレード 」および SSIS パッケージ アップグレード ウィザードの F1 ヘルプ」を参照してください。
パッケージのアップグレードは永続的です。
Upgrade メソッドを使用して、1 つまたは複数の Integration Services パッケージをアップグレードします。 パッケージのアップグレードは永続的です。

カスタムアプリケーションおよびカスタムコンポーネント

SQL Server 2005 Integration Services(SSIS)のカスタムコンポーネントは、現在のSSISリリースでは動作しません。

しかし、現在のSSISツールのリリースを使って、SQL Server 2008(10.0.x)からSQL Server 2014(12.x)までのカスタムコンポーネントのパッケージを実行・管理することができます。 ランタイムアセンブリをバージョン10.0.0.0(SQL Server 2008 R2 (10.50.x))、バージョン11.0.0.0(SQL Server 2012 (11.x))、またはバージョン12.0.0.0(SQL Server 2014 (12.x))からバージョン15.0.0.0(SQL Server 2019 (15.x))へリダイレクトするために、以下のファイルに4つのバインディングリダイレクトルールが追加されます:

  • DTExec.exe.config
  • dtshost.exe.config
  • DTSWizard.exe.config
  • DTUtil.exe.config
  • DTExecUI.exe.config

SQL Server Data Toolsを使ってSQL Server 2014(12.x)以前のバージョン向けのカスタムコンポーネントを含むパッケージを設計するには、<drive>:\Program Files\Microsoft Visual Studio 10.0\Common7\IDEにあるdevenv.exe.configファイルを修正してください。

これらのパッケージをSQL Server 2019(15.x)のランタイムで構築したカスタムアプリケーションで使用するには、実行ファイルの*.exe.config設定セクションにリダイレクトルールを含めてください。 これらのルールにより、ランタイム アセンブリが Version 15.0.0.0 (SQL Server 2019 (15.x)) にリダイレクトされます。 アセンブリ バージョン リダイレクトについて詳しくは、「<runtime> の <assemblyBinding> 要素」をご覧ください。

アセンブリの位置を特定する

SQL Server 2019 (15.x)では、 Integration Services アセンブリが .NET 4 にアップグレードされました。 .NET 4用の別のグローバルアセンブリキャッシュが<drive>:\Windows\Microsoft.NET\assemblyに設置されています。 このパスの下には通常 GAC_MSIL フォルダ内のすべての統合サービスアセンブリを見つけることができます。

以前のSQL Serverバージョンと同様に、コアとなる統合サービスの拡張性.dllファイルもまた<drive>:\Program Files\Microsoft SQL Server\130\SDK\Assembliesに配置されています。

SQL Serverパッケージのアップグレード結果を理解する

パッケージアップグレードプロセス中、SQL Server 2014(12.x)以前のバージョンのほとんどのコンポーネントや機能は、現在のSQL Serverリリースでシームレスに対応するものに変換されます。 しかし、アップグレードされていないか、アップグレード結果が出るコンポーネントや機能がいくつか存在し、それを知っておくべきです。

このセクションに記載された問題があるパッケージを特定するには、Upgrade Advisorを実行してください。

接続文字列

SQL Server 2014(12.x)以前のバージョンのパッケージでは、特定のプロバイダー名が変更され、接続文字列に異なる値を要求しています。 接続文字列を更新するには、次のいずれかの手順を実行します。

  • SSIS パッケージ アップグレード ウィザードを使用してパッケージをアップグレードし、 [新しいプロバイダー名を使用した接続文字列に更新する] オプションを選択します。
  • SQL Server Data Tools (SSDT)で、[オプション] ダイアログ ボックスの [全般] ページにある [新しいプロバイダー名を使用した接続文字列に更新する] オプションを選択します。 このオプションについて詳しくは、「[全般] ページ」をご覧ください。
  • SQL Server Data Tools (SSDT)でパッケージを開き、ConnectionString プロパティのテキストを手動で変更します。

これらの手続きで接続文字列を更新することはできません。接続文字列が設定ファイルやデータソースファイルに格納されている場合、あるいは式がConnectionStringプロパティを設定している場合は。 このような場合に接続文字列を更新するには、ファイルまたは式を手動で更新する必要があります。 データソースの詳細については、「 統合サービスパッケージのためのデータソース」をご覧ください。

ADODB.DLL に依存するスクリプト

ADODB.DLL を明示的に参照するスクリプト タスクおよびスクリプト コンポーネント スクリプトは、SQL Server Management Studio または SQL Server Data Tools (SSDT) がインストールされていないコンピューターでは、アップグレードまたは実行できない場合があります。 これらのスクリプトタスクやスクリプトコンポーネントスクリプトをアップグレードするには、 ADODB.DLLへの依存を取り除く必要があります。 VBやC#スクリプトなどのマネージドコードの代替としてADO.NETをご利用ください。