Integration Services のアップグレード

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

SQL Server 2008 Integration Services (SSIS) 以降が現在コンピューターにインストールされている場合は、SQL Server 2019 Integration Services (SSIS) にアップグレードできます。

これらの以前のバージョンの Integration Services のいずれかがインストールされているマシンで SQL Server 2019 Integration Services (SSIS) にアップグレードすると、SQL Server 2019 Integration Services (SSIS) は以前のバージョンと並行してインストールされます。

このサイド バイ サイド インストールで、複数のバージョンの dtexec ユーティリティがインストールされます。 正しいバージョンのユーティリティを実行していることを確認するには、コマンド プロンプトで完全なパス (<ドライブ>:\Program Files\Microsoft SQL Server\<バージョン>\DTS\Binn) を入力してユーティリティを実行します。 dtexec の詳細については、「 dtexec Utility」を参照してください。

注意

以前のバージョンの SQL Server では、SQL Server をインストールすると、既定で Local Users と Groups の Users グループのすべてのメンバーが Integration Services サービスにアクセスできました。 SQL Server 2016 (13.x) 以降をインストールする場合、ユーザーは Integration Services サービスにアクセスできません。 このサービスは既定で保護されます。 特定のユーザーに対して Integration Services サービスへのアクセスを許可するには、SQL Server 管理者が SQL Server をインストールした後で DCOM 構成ツール (Dcomcnfg.exe) を実行する必要があります。 詳細については、「Integration Services サービス (SSIS サービス)」を参照してください。

Integration Services をアップグレードする前に

SQL Server 2019 (15.x) にアップグレードする前に、アップグレード アドバイザーを実行することをお勧めします。 アップグレード アドバイザーは、既存の Integration Services パッケージを、SQL Server 2019 (15.x) で使用される新しいパッケージ形式に移行する場合に発生する可能性がある問題を報告します。

Note

SQL Server 2012 では、データ変換サービス (DTS) パッケージの移行または実行のサポートは廃止されました。 次の DTS 機能は廃止されました。

  • DTS ランタイム
  • DTS API
  • DTS パッケージを次期バージョンの Integration Services に移行するためのパッケージ移行ウィザード
  • SQL Server Management Studio での DTS パッケージのメンテナンス機能のサポート
  • DTS 2000 パッケージ実行タスク
  • アップグレード アドバイザーによる DTS パッケージのスキャン

廃止されたその他の機能については、「 SQL Server 2016 で提供が中止された Integration Services の機能」をご覧ください。

Integration Services のアップグレード

次の方法のいずれかを使用してアップグレードできます。

  • SQL Server 2019 (15.x) セットアップを実行し、[SQL Server 2008、SQL Server 2008 R2、SQL Server 2012 (11.x)、または SQL Server 2014 (12.x) からのアップグレード] を選択します。

  • コマンド プロンプトで setup.exe を実行し、 /ACTION=upgrade オプションを指定します。 詳細については、「コマンド プロンプトからの SQL Server 2016 のインストール」の「Integration Services のインストール スクリプト」セクションを参照してください。

アップグレードでは、次の操作は実行できません。

  • 既にインストールされている Integration Services の再構成。

  • SQL Server の 32 ビット版から 64 ビット版への移動または 64 ビット版から 32 ビット版への移動。

  • SQL Server のローカライズ版どうしの間での移動。

アップグレード時には、Integration Services とデータベース エンジンの両方をアップグレードするか、データベース エンジンのみ、または Integration Services のみをアップグレードすることができます。 データベース エンジンのみをアップグレードすると、SQL Server 2008 Integration Services (SSIS) 以降は引き続き機能しますが、SQL Server 2019 Integration Services (SSIS) の機能は使用できません。 Integration Services のみをアップグレードすると、SQL Server 2019 Integration Services (SSIS) は完全に機能しますが、SQL Server データベース エンジンのインスタンスを別のコンピューターで使用できない限り、パッケージを格納できる場所はファイル システムのみになります。

Integration Services とデータベース エンジンの両方を SQL Server 2019 (15.x) にアップグレードする

ここでは、次の条件を満たしたアップグレードを実行した場合の影響について説明します。

  • Integration Services とデータベース エンジンのインスタンスの両方を SQL Server 2019 (15.x) にアップグレードします。

  • Integration Services とデータベース エンジンのインスタンスの両方が同じコンピューター上にあります。

アップグレード プロセスで実行されるタスク

アップグレード プロセスでは次のタスクが行われます。

  • SQL Server 2019 Integration Services (SSIS) ファイル、サービス、ツール (Management Studio と SQL Server Data Tools) をインストールします。 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 2019 (15.x) にアップグレードすると、SQL Server 2019 Integration Services (SSIS) ファイル、サービス、ツールがインストールされます。

  • 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 2019 (15.x) バージョンにアップグレードします。

  • 次のように、SQL Server 2008 Integration Services (SSIS) 以降のシステム テーブルから SQL Server 2019 Integration Services (SSIS) システム テーブルにデータを移動します。

    • パッケージを変更せずに msdb.dbo.sysdtspackages90 システム テーブルから msdb.dbo.sysssispackages システム テーブルに移動します。

      Note

      データは異なるシステム テーブルに移動されますが、アップグレード プロセスでは、パッケージは新しい形式には移行されません。

    • フォルダーのメタデータを msdb.sysdtsfolders90 システム テーブルから msdb.sysssisfolders システム テーブルに移動します。

    • ログ データを msdb.sysdtslog90 システム テーブルから msdb.sysssislog システム テーブルに移動します。

  • 新しい msdb.sysssis* テーブルにデータを移動した後に、msdb.sysdts*90 システム テーブルとシステム テーブルへのアクセスに使用されるストアド プロシージャを削除します。 ただしアップグレードにより、sysdtslog90 テーブルは sysdtslog90 という名前のビューに置き換わります。 この新しい sysdtslog90 ビューでは、新しい msdb.sysssislog システム テーブルが公開されます。 これにより、ログ テーブルに基づいたレポートは、中断されることなく引き続き実行されます。

  • パッケージへのアクセスを制御するために、db_ssisadmin、db_ssisltduser、および db_ssisoperator という 3 つの固定データベース レベル ロールを新しく作成します。 db_dtsadmin、db_dtsltduser、および db_dtsoperator という SQL Server 2005 (9.x) Integration Services ロールは削除されませんが、対応する新しいロールのメンバーになります。

  • SSIS パッケージ ストア (Integration Services サービスが管理するファイル システムの場所) が、\SQL Server\90\SQL Server\100\SQL Server\110\SQL Server\120 内の既定の場所である場合、そのパッケージを新しい既定の場所である \SQL Server\130 内に移動します。

  • データベース エンジンのアップグレード済みのインスタンスを指すように Integration Services サービス構成ファイルを更新します。

アップグレード プロセスで実行されないタスク

アップグレード プロセスでは、次のタスクは行われません。

  • SQL Server 2008 Integration Services (SSIS) 以降のサービスは削除されません

  • SQL Server 2019 (15.x) で使用される新しいパッケージ形式に、既存の Integration Services パッケージは移行されません。 パッケージの移行方法については、「 Integration Services パッケージのアップグレード」をご覧ください。

  • パッケージは、サービス構成ファイルに追加されたファイル システムの場所からは移行されません。ただし、この場所が既定の場所である場合は移行できます。 既にサービス構成ファイルを編集してファイル システム フォルダーを追加している場合、追加したフォルダーに格納されているパッケージは新しい場所に移行されません。

  • dtexec ユーティリティ (dtexec.exe) を直接呼び出す SQL Server エージェント ジョブ ステップでは、dtexec ユーティリティのファイル システム パスが更新されません。 これらのジョブ ステップを手動で編集し、SQL Server 2019 (15.x) の dtexec ユーティリティの場所を指定するようにファイル システム パスを更新する必要があります。

アップグレード後に実行できるタスク

アップグレード プロセスが完了したら、次のタスクを実行できます。

  • パッケージを実行する SQL Server エージェント ジョブを実行できます。

  • Management Studio を使用して、SQL Server 2008 (10.0.x)、SQL Server 2008 R2 (10.50.x)、SQL Server 2012 (11.x)、または SQL Server 2014 (12.x) のインスタンスに格納されている Integration Services パッケージを管理できます。 サービス構成ファイルを変更して、SQL Server 2008 (10.0.x)、SQL Server 2008 R2 (10.50.x)、SQL Server 2012 (11.x)、SQL Server 2014 (12.x) のインスタンスをサービスによって管理される場所の一覧に追加する必要があります。

    Note

    Management Studio の初期バージョンは、SQL Server 2019 Integration Services (SSIS) サービスに接続できません。

  • packageformat 列の値を確認することによって、msdb.dbo.sysssispackages システム テーブル内のパッケージのバージョンを識別できます。 このテーブルには、各パッケージのバージョンを識別する packageformat 列があります。 値 3 は、SQL Server 2008 Integration Services (SSIS) パッケージを示します。 パッケージを新しいパッケージ形式に移行するまで、packageformat 列の値は変わりません。

  • SQL Server 2008 (10.0.x)、SQL Server 2008 R2 (10.50.x)、SQL Server 2012 (11.x)、または SQL Server 2014 (12.x) ツールを使用して、Integration Services パッケージを設計、実行、または管理することはできません。 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 インポートおよびエクスポート ウィザード、パッケージ実行ユーティリティ (dtexecui.exe) が付属しています。 アップグレード プロセスでは、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) 以降のパッケージで作業することはできません。

  • 既定では、アップグレード インストールで、Integration Services はパッケージの実行に関連するイベントをアプリケーション イベント ログに記録するように構成されます。 SQL Server 2019 (15.x) のデータ コレクター機能を使用すると、この設定によって大量のイベント ログ エントリが生成される場合があります。 ログに記録されるイベントは、EventID 12288 の "パッケージが起動されました。" や EventID 12289 の "パッケージが正常に完了しました。" などです。これら 2 つのイベントがアプリケーション イベント ログに記録されないようにするには、レジストリを編集用に開きます。 次に、レジストリ内で HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\130\SSIS ノードを見つけ、LogPackageExecutionToEventLog 設定の DWORD 値を 1 から 0 に変更します。

データベース エンジンのみを SQL Server 2019 (15.x) にアップグレードする

ここでは、次の条件を満たしたアップグレードを実行した場合の影響について説明します。

  • データベース エンジンのインスタンスのみをアップグレードします。 つまり、データベース エンジンのインスタンスは SQL Server 2019 (15.x) のインスタンスになりましたが、Integration Services とクライアント ツールのインスタンスは、SQL Server 2008 (10.0.x)、SQL Server 2008 R2 (10.50.x)、SQL Server 2012 (11.x)、SQL Server 2014 (12.x) です。

  • データベース エンジンのインスタンスが、Integration Services およびクライアント ツールとは別のコンピューター上にあります。

アップグレード後に実行できるタスク

データベース エンジンのアップグレード済みのインスタンスのパッケージを格納するシステム テーブルは、SQL Server 2008 (10.0.x) で使用されるシステム テーブルとは異なります。 したがって、SQL Server 2008 (10.0.x) バージョンの Management Studio および SQL Server Data Tools では、データベース エンジンのアップグレード済みのインスタンスのシステム テーブル内にあるパッケージは検出できません。 このため、これらのパッケージに対して実行できるタスクには制限があります。

  • SQL Server 2008 (10.0.x) ツール、Management Studio、および SQL Server Data Tools を他のコンピューターで使用して、データベース エンジンのアップグレード済みのインスタンスからパッケージを読み込んだり管理したりすることはできません。

    注意

    データベース エンジンのアップグレード済みのインスタンスのパッケージはまだ新しいパッケージ形式に移行されていませんが、SQL Server 2008 (10.0.x) ツールで検出することはできません。 したがって、SQL Server 2008 (10.0.x) ツールでこれらのパッケージを使用できません。

  • SQL Server 2008 Integration Services (SSIS) は、データベース エンジンのアップグレード済みのインスタンスの msdb に格納されているパッケージを実行する他のコンピューターでは使用できません。

  • SQL Server エージェント ジョブは、データベース エンジンのアップグレード済みのインスタンスに格納されている SQL Server 2008 Integration Services (SSIS) パッケージを実行する SQL Server 2008 (10.0.x) コンピューターでは使用できません。

外部リソース

blogs.msdn.com のブログ記事「 既存のカスタムSSIS拡張機能とアプリケーションをデナリで動作させる