松本美穂と松本崇博が執筆した SQL Server 2014 実践シリーズの「No.2 SQL Server 2014 への移行とアップグレードの実践」の HTML 版です。 日本マイクロソフトさんの Web サイトで Word または PDF 形式でダウンロードできますが、今回、HTML 版として公開する許可をいただきましたので、ここに掲載いたします。[2015年12月29日]
Integration Services を利用している場合は、SQL Server 2014 へのアップグレード インストールによって、Integration Services もアップグレードされます。Integration Services の場合は、アップグレード後に、古いバージョンの Integration Services が残り、サイド バイ サイドで実行されます。これは、構成マネージャーで次のように確認することができます。
SQL Server 2005 からのアップグレードの場合
SQL Server 2008/2008 R2 からのアップグレードの場合
Integration Services のバージョンは、それぞれ次のとおりです。
dtexec を利用して、SSIS パッケージ(Integration Services のパッケージ)を実行している場合は、dtexec の既定のパス(パスを指定しないで実行した場合)が以前のバージョンになることに注意する必要があります。これは次のような状況です。
これは、SQL Server 2005 から SQL Server 2014 へアップグレードを行った後に、dtexec を実行したときのものですが、Version 9.0 と表示されて、SQL Server 2005 版の dtexec が実行されていることを確認できます。後述しますが、SSIS パッケージ(.dtsx ファイル)は、SQL Server 2014 へのアップグレードによってアップグレードされるわけではないので(SQL Server 2005 からのアップグレードの場合は、SQL Server 2005 形式の SSIS パッケージのままになるので)、それらを(以前のバージョン同士で)実行するための処置になっています。
ただし、SQL Server 2014 内(msdb 内)に配置された SSIS パッケージを実行する場合(/DTS オプションを利用する場合)には、SQL Server 2005 版の dtexec では、次のようにエラーとなんってしまいます。
また、SSDT-BI for Visual Studio 2013 を利用して、新たに SQL Server 2014 形式の SSIS パッケージを作成した場合には、SQL Server 2005 版の dtexec では次のようにエラーになってしまいます。
これを回避するには、SQL Server 2014 版の dtexec を利用するようにします。これは、次のパスにインストールされています。
C:\Program Files\Microsoft SQL Server\120\DTS\Binn
したがって、このパスへ移動すれば、SQL Server 2014 版の dtexec を利用することができます(前述の sqlcmd や bcp コマンドと同様、PATH 環境変数を変更することでも対応可能です)。
SQL Server Agent のジョブとして、次のように SSIS パッケージを登録/実行している場合には、SQL Server 2014 へのアップグレード後に、ジョブがエラーになる可能性があります。
SQL Server 2005 上で Agent ジョブとして SSIS パッケージを登録
SQL Server 2014 にアップグレードすると、ジョブの実行でエラーになることがある
SQL Server 2014 では、Integration Services への Users グループのアクセスが制限されるようになったので、ジョブの実行ユーザーである「SQL Server Agent のサービス アカウント」が Administrators グループのメンバーでない場合には、このエラーが発生してしまいます。
これを回避するには、DCOM 構成ツールで、SQL Server Agent のサービス アカウントへアクセス許可を与えるようにします。DCOM 構成ツールは、次のように[ファイル名を指定して実行]で「dcomcnfg」と入力して起動することができます。
DCOM 構成ツールでは、[DCOM の構成]を開いて、「Microsoft SQL Server Integration Services 12.0」コンポーネントを右クリックして、[プロパティ]をクリックします。
[プロパティ]ダイアログが表示されたら、次のように[セキュリティ]タブを開いて、[起動とアクティブ化のアクセス許可]で[編集]をクリックします。
[アクセス許可]ダイアログが表示されたら、[追加]ボタンで SQL Server Agent のサービス アカウントを追加して、「ローカルからの起動」と「ローカルからのアクティブ化」の「許可」をチェックします。
次に、[プロパティ]ダイアログの真ん中のセクションの[アクセス許可]の[編集]をクリックします。[アクセス許可]ダイアログが表示されたら、[追加]ボタンで SQL Server Agent のサービス アカウントを追加して、「ローカル アクセス」の「許可」をチェックします。これらの[アクセス許可]ダイアログは、似たようなダイアログですが、それぞれ設定する必要があるので、注意してください。
これで DCOM 構成ツールでのアクセス許可の設定が完了です。設定後、SQL Server 構成マネージャー ツールで、次のように[Integration Services 12.0]サービスを再起動すれば、アクセス許可設定が有効になります。
SQL Server 2014 へのアップグレードを行っても、SSIS パッケージはアップグレードされません。これについては、オンライン ブックの次のトピックを一読することをお勧めします。
Integration Services パッケージのアップグレード
http://msdn.microsoft.com/ja-jp/library/cc280546.aspx
古い形式のまま実行できる SSIS パッケージであれば、そのまま利用しても問題ありませんが、実行できないもの(DTS 2000 パッケージ実行タスクを利用しているなど)を含んでいるものは、SQL Server 2014 形式へアップグレードして、SSIS パッケージを修正していく必要があります。
SSIS パッケージのアップグレードについては、「アップグレード ウィザード」が用意されているので簡単に SQL Server 2014 形式に変換することができます。アップグレード ウィザードは、SSDT-BI や、Management Studio から起動することができますが、Management Studio を利用する場合は、次のようにオブジェクト エクスプローラーの[接続]メニューで Integration Services へ接続して、[MSDB]フォルダーを右クリックして、[パッケージのアップグレード]をクリックします(これで SQL Server 内に格納されたすべての Integration Services をまとめてアップグレードすることができます)。
[パッケージの選択]ページでは、すべての SSIS パッケージが表示されますが、Data Collection ~ は後述のパフォーマンス データ コレクション、Maintenance Plans ~ はメンテナンス プラン(保守計画)で内部利用されるものなので、これらのチェックは外しておきます。ここでは、アップグレードしたいパッケージのみをチェックするようにします。
次の[アップグレード先の場所の選択]ページでは、アップグレードしたものを同じ場所に保存するかどうかを指定します。
[パッケージ管理オプションの選択]ページでは、アップグレードしたパッケージを上書きするかどうか(以前のバージョンを残すかどうか)を指定します。既定では「アップグレードしたパッケージ名に数字のサフィックスを追加する」が選択されていて、既存のパッケージが「A」なら、アップグレード後のパッケージが「A(1)」という名前になり、既存のパッケージを上書きせずに残すことができます。
次の[ウィザードの完了]ページでは、[完了]ボタンをクリックすることで、アップグレードが開始されます。
その他の Integration Services のアップグレードに関する情報は、オンライン ブックの以下のトピックが参考になると思います。
Integration Services のアップグレード
http://msdn.microsoft.com/ja-jp/library/cc879336.aspx
第60回:SQL Server 2017 自習書 No.3「SQL Server 2017 Machine Learning Services」のご案内
第59回:SQL Server 2017 自習書 No.2「SQL Server 2017 on Linux」のご案内
第58回:SQL Server 2017 自習書 No.1「SQL Server 2017 新機能の概要」のご案内
第57回:SQL Server 2017 RC 版とこれまでのドキュメントのまとめ
第56回:「SQL Server 2016 への移行とアップグレードの実践」完成&公開!
第55回:書籍「SQL Server 2016の教科書 開発編」(ソシム)が発刊されました
第54回:「SQL Server 2016 プレビュー版 Reporting Services の新機能」自習書のお知らせ
第 53 回:SQL Server 2016 Reporting Services の新しくなったレポート マネージャーとモバイル レポート機能
第 52 回:SQL Server 2016 の自習書を作成しました!
第 51 回:PASS Summit と MVP Summit で進化を確信!
第 50 回:新しくなった Power BI(2.0)の自習書を作成しました!
第49 回:Excel 2016 の Power Query を使う
第 48 回:新しくなった Microsoft Power BI ! 無料版がある!!
第 47 回:「Microsoft Azure SQL Database 入門」 完成&公開!
第 46 回:Microsoft Power BI for Windows app からの Power BI サイト アクセス
第 45 回:Power Query で取得したデータを PowerPivot へ読み込む方法と PowerPivot for Excel 自習書のご紹介
第44回:「SQL Server 2014 への移行とアップグレードの実践」ドキュメントを作成しました
第43回:SQL Server 2014 インメモリ OLTP 機能の上級者向けドキュメントを作成しました
第42回:Power Query プレビュー版 と Power BI for Office 365 へのクエリ保存(共有クエリ)
第41回:「SQL Server 2014 CTP2 インメモリ OLTP 機能の概要」自習書のお知らせです
第40回: SQL Server 2012 自習書(HTML版)を掲載しました
第39回: Power BI for Office 365 プレビュー版は試されましたか?
第38回: SQL Server 2014 CTP2 の公開
第37回: SQL Server 2014 CTP1 の自習書をご覧ください
第36回: SQL Server 2014 CTP1 のクラスター化列ストア インデックスを試す
第35回: SQL Server 2014 CTP1 のインメモリ OLTP の基本操作を試す
第34回: GeoFlow for Excel 2013 のプレビュー版を試す
第33回: iPad と iPhone からの SQL Server 2012 Reporting Servicesのレポート閲覧
第32回: PASS Summit 2012 参加レポート
第31回: SQL Server 2012 Reporting Services 自習書のお知らせ
第30回: SQL Server 2012(RTM 版)の新機能 自習書をご覧ください
第29回: 書籍「SQL Server 2012の教科書 開発編」のお知らせ
第26回: SQL Server 2012 の Power View 機能のご紹介
第25回: SQL Server 2012 の Data Quality Services
第24回: SQL Server 2012 自習書のご案内と初セミナー報告
第23回: Denali CTP1 が公開されました
第22回 チューニングに王道あらず
第21回 Microsoft TechEd 2010 終了しました
第20回 Microsoft TechEd Japan 2010 今年も登壇します
第19回 SQL Server 2008 R2 RTM の 日本語版が公開されました
第18回 「SQL Azure 入門」自習書のご案内
第17回 SQL Server 2008 自習書の追加ドキュメントのお知らせ
第16回 SQL Server 2008 R2 自習書とプレビュー セミナーのお知らせ
第15回 SQL Server 2008 R2 Reporting Services と新刊のお知らせ
第14回 TechEd 2009 のご報告と SQL Server 2008 R2 について
第13回 SQL Server 2008 R2 の CTP 版が公開されました
第12回 MVP Summit 2009 in Seattle へ参加