Integration Services のアップグレード

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

Integration Services の以前のバージョンのいずれかがインストールされているコンピューターで SQL Server 2012 Integration Services (SSIS) にアップグレードすると、SQL Server 2012 Integration Services (SSIS) は以前のバージョンに対してサイド バイ サイドでインストールされます。

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

注意

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

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

SQL Server 2012 にアップグレードする前に、アップグレード アドバイザーを実行することをお勧めします。アップグレード アドバイザーは、既存の Integration Services パッケージを、SQL Server 2012 で使用される新しいパッケージ形式に移行する場合に発生する可能性がある問題を報告します。 詳細については、「アップグレード アドバイザーを使用したアップグレードの準備」を参照してください。

注意

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

  • DTS ランタイム

  • DTS API

  • DTS パッケージを次期バージョンの Integration Services 用に移行するためのパッケージ移行ウィザード

  • SQL Server Management Studio における DTS パッケージのメンテナンス機能のサポート

  • DTS 2000 パッケージ実行タスク

  • アップグレード アドバイザーによる DTS パッケージのスキャン

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

Integration Services のアップグレード

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

  • SQL Server 2012 セットアップを実行し、[SQL Server 2005、SQL Server 2008、または SQL Server 2008 R2 からのアップグレード] を選択します。

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

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

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

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

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

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

Integration Services とデータベース エンジンの両方を SQL Server 2012 にアップグレードする

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

  • Integration Services とデータベース エンジンのインスタンスをどちらも SQL Server 2012 にアップグレードする。

  • Integration Services とデータベース エンジンのインスタンスがどちらも同じコンピューター上にある。

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

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

  • SQL Server 2012 Integration Services (SSIS) のファイル、サービス、およびツール (Management Studio と SQL Server Data Tools) をインストールします。 同じコンピューター上に SQL Server 2005 または SQL Server 2008 の複数のインスタンスが存在する場合は、どのインスタンスであっても、最初に SQL Server 2012 にアップグレードするときに、SQL Server 2012 Integration Services (SSIS) のファイル、サービス、およびツールがインストールされます。

  • SQL Server 2005 または SQL Server 2008 のデータベース エンジンのインスタンスを SQL Server 2012 バージョンにアップグレードします。

  • 次のように、SQL Server 2005 Integration Services (SSIS) または SQL Server 2008 Integration Services (SSIS) のシステム テーブルのデータを SQL Server 2012 Integration Services (SSIS) システム テーブルに移動します。

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

      注意

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

    • フォルダーのメタデータを、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 Integration Services ロールは削除されませんが、対応する新しいロールのメンバーになります。

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

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

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

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

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

  • 既存の Integration Services パッケージは、SQL Server 2012 で使用される新しいパッケージ形式に移行されません。 パッケージの移行方法の詳細については、「Integration Services パッケージのアップグレード」を参照してください。

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

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

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

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

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

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

    注意

    以前のバージョンの Management Studio では、SQL Server 2012 Integration Services (SSIS) サービス に接続することはできません。

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

  • SQL Server 2005 ツールまたは SQL Server 2008 ツールを使用して、Integration Services パッケージをデザイン、実行、または管理することはできません。 SQL Server 2005 ツールおよび SQL Server 2008 ツールには、各バージョンの SQL Server データ ツール (SSDT)、SQL Server インポートおよびエクスポート ウィザード、パッケージ実行ユーティリティ (dtexecui.exe) などがあります。 アップグレード プロセスでは、SQL Server 2005 ツールまたは SQL Server 2008 ツールは削除されません。 ただし、アップグレードしたサーバー上でこれらのツールを使用して、引き続き SQL Server 2005 Integration Services (SSIS) パッケージまたは SQL Server 2008 Integration Services (SSIS) パッケージで作業することはできません。

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

データベース エンジンのみを SQL Server 2012 にアップグレードする

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

  • データベース エンジンのインスタンスのみをアップグレードする。 つまり、データベース エンジンは SQL Server 2012 のインスタンスであるが、Integration Services のインスタンスおよびクライアント ツールは SQL Server 2005 または SQL Server 2008 である状態。

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

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

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

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

    注意

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

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

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

外部リソース

blogs.msdn.com のブログ「既存のカスタム SSIS 拡張機能とアプリケーションを Denali に対応させる