適用対象: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をご利用ください。