SQL Server のことなら SQL Quality SQL Server パフォーマンス チューニング、コンサルティング、アドバイス、相談、定期診断、トレーニング

ホーム > 技術情報 > SQL Server 実践「SQL Server 2016 への移行とアップグレードの実践」

Microsoft SQL Server 2016 実践シリーズ (HTML 版)
「SQL Server 2016 への移行とアップグレードの実践」

松本美穂と松本崇博が執筆した SQL Server 2016 実践シリーズの「SQL Server 2016 への移行とアップグレードの実践」の HTML 版です。 日本マイクロソフトさんの Web サイトで Word または PDF 形式でダウンロードできますが、今回、HTML 版として公開する許可をいただきましたので、ここに掲載いたします。なお、記載している内容は、2016年 12月時点での情報になります。[2018年12月29日]

目次へ | 前のページへ | 次のページへ

1.4 SQL Server 2016 へのアップグレードと移行の概要

アップグレード」(Upgrade)と「移行」(マイグレーション:Migration)は、どちらも似たような用語ですが、厳密には、旧システム環境を残すかどうか(サイド バイ サイドで、以前のバージョンの SQL Server と SQL Server 2016 を並列実行できるようにするかどうか)という違いがあります。次のように、アップグレードの場合は旧システム環境を残さず、移行の場合は旧システム環境を残します。

00033

アップグレードは、旧システム環境を残さずに、以前のバージョンの SQL Server(SQL Server 2008 や 2008 R2/2012/2014)を、SQL Server 2016 に完全に置き換えます(上書きします)。なお、同一マシン内でのアップグレードは、「インプレース アップグレード」とも呼ばれています。

一方、移行(マイグレーション)では、旧システム環境(以前の SQL Server)とは別に、新しい環境(SQL Server 2016)を作成して、そこにデータベースや各種機能を移行します。

◆ アップグレード パス

SQL Server 2016 は、以下のバージョンの SQL Server からのアップグレード(インプレース アップグレード)を行うことができます。

  • SQL Server 2008 SP4 以降
  • SQL Server 2008 R2 SP3 以降
  • SQL Server 2012 SP2 以降
  • SQL Server 2014 RTM 以降

SQL Server 2016 からは、SQL Server 2005 からのインプレース アップグレードがサポートされなくなりました(第5章で紹介するデータベースの移行は可能です)。

SQL Server 2008 SP4SQL Server 2008 R2 SP3SQL Server 2012 SP2 以降を適用しておくことで、インプレース アップグレードを行うことができます。

なお、古いバージョンの SQL Server 上で、ユーザー データベースの互換性レベルが 90(SQL Server 2005 レベル)以下のものを利用している場合は、アップグレード時に、そのデータベースの互換性レベルが 100(SQL Server 2008 レベル)に自動的に上がりますが、詳しくは第3章で説明します。

アップグレード時にエディションを変更する場合は、基本的には上位互換Standard エディションを Enterprise エディションへ変更するなど、上位のエディションへの変更)であれば問題ありません。一方、下位のエディションへの変更(Enterprise エディションを Standard エディションへ変更するなど)はサポートされていません。

クロス プラットフォーム32ビットから 64ビットへの変更)に関しては、インプレース アップグレードがサポートされていないので、SQL Server 2016 の新規インストールを行って、データベースの移行マイグレーション)を行う必要があります。データベースの移行であれば、32ビットも 64ビットも関係ありません(移行の詳細は、第5章で説明します)

なお、Microsoft Azure などのクラウド環境への変更を行う場合にも、第5章の「移行」の手順で行うことができます。完全に別のサーバー(同じ名前の別サーバーではなく、異なる名前の別サーバー)への変更を行う場合には、移行を利用するようにします(移行の手順も簡単です)。

その他のアップグレード条件に関しては、オンライン ブックの以下のトピックに記載されているので、一読しておくことをお勧めします。

SQL Server 2016 へのアップグレード サポートされているバージョンとエディションのアップグレード
http://msdn.microsoft.com/ja-jp/library/ms143393.aspx

00034

◆ 移行可能なデータベース

SQL Server 2016 への移行(マイグレーション)が可能なデータベースは、次のとおりです。

  • SQL Server 2005 上のデータベース
  • SQL Server 2008 上のデータベース
  • SQL Server 2008 R2 上のデータベース
  • SQL Server 2012 上のデータベース
  • SQL Server 2014 上のデータベース

インプレース アップグレードは SQL Server 2008 以上が対象でしたが、移行(マイグレーション)であれば、SQL Server 2005 のデータベースを SQL Server 2016 に移行することもできます。

データベースの移行は、標準のバックアップと復元機能を利用することで、簡単に行うことができます。移行元の SQL Server 上でデータベースを完全バックアップして、それを SQL Server 2016 上で復元(リストア)するだけで、データベースの移行が完了です(2つのステートメントを実行するだけで完了します)。

例えば、SQL Server 2005 上でデータベースの完全バックアップを実行する場合は、次のように BACKUP DATABASE ステートメントを実行します。

00035

このバックアップ ファイル(.bak)を、移行先となる SQL Server 2016 上で復元すれば、データベースの移行が完了です。復元は、次のように RESTORE DATABASE ステートメントを実行するだけです。

00036

このように、SQL Server 2005 上で取得したバックアップは、SQL Server 2016 上にも簡単に復元することができます。これだけの操作で、テーブル内のデータが復元されることはもちろん、インデックスやビュー、ストアド プロシージャ、制約、トリガー、ユーザー定義関数、SQL CLR オブジェクト、フルテキスト インデックス、暗号化のための対称キー/非対称キー、データ パーティション、データベースの設定オプションなど、データベース内のすべてのオブジェクトを復元できます。

SQL Server 2005 のデータベースを復元した場合には、データベースの互換性レベル100(SQL Server 2008 レベル)に自動的に上がったり、データベース ユーザーとオブジェクト権限に関しては、元の環境と同じように利用するためには追加手順が必要になったりしますが、ほとんどのオブジェクトを移行元と同じように利用することができます(追加手順が必要なオブジェクトについては、第5章で詳しく説明しています)。

このように SQL Server は、データベースの移行を非常に簡単に行うことができ、SQL Server 2005 や 2008、2008 R2、2012、2014 で利用していたデータベースを、SQL Server 2016 上に簡単に復元/移行することができます。

バックアップと復元機能を利用すれば、移行元が 32ビットで、移行先が 64ビットでも、移行元と移行先の OS が違っても、移行先がクラウド(Mirosoft Azure 上の仮想マシン)であったとしても、関係なくデータベースの移行を行うことができます。

既存の SQL Server が 32ビットの場合や、SQL Server 2005 を利用している場合には、インプレース アップグレードがサポートされていないので、バックアップと復元機能を利用して、移行をするようにします。

◆ SQL Server 2016 をインストール可能な OS

SQL Server 2016 は、以下の OS にインストールすることができます(アップグレード時も条件は同じです)。

  • Windows Server 2012(X64)
  • Windows Server 2012 R2(X64)KB 2919355
  • Windows Server 2016(X64)

00037

以前の SQL Server との大きな違いは、SQL Server 2016 X64(64ビット版)の OS のみでサポートされるようになったことと、Windows Server 2012 以降の OS が必要になることです。SQL Server 2014 のときは Windows Server 2008 SP2 以降の OS がサポートされていましたが、SQL Server 2016 から変更になりました。

したがって、SQL Server 2008 や 2008 R2、2012、2014 を、Windows Server 2003 2003 R220082008 R2 などで動作させている場合には、OS を Windows Server 2012 以降にアップグレードしてから、SQL Server をアップグレードする必要があります(詳しくは、第3章で説明します)。

また、OS を Windows Server 2012 以上にアップグレードする場合は、SQL Server の Service Pack 要件が次のようにあります。

00038

SQL Server 2008 を利用している場合は、Windows Server 2012 にアップグレードする前に、SP3 以上、SQL Server 2016 にアップグレードする前に SP4 以上を適用しておく必要があります。また、Windows Server 2016 からは、SQL Server 2008 および 2008 R2 が未サポートになりました。これについては、以下の KB 2681562 が参考になると思います。

Using SQL Server in Windows 8 and later versions of Windows operating system
http://support.microsoft.com/en-us/kb/2681562

目次へ | 前のページへ | 次のページへ

事例1

SQLQualityは執筆とセミナーを通じて技術の啓蒙やエンジニアの育成支援も行っています
最新刊
SQL Server 2016 の教科書
SQL Server 2016 の教科書(ソシム)

弊社オリジナル制作の
SQL Server 2016 自習書も
マイクロソフトのサイトで公開中!
ダウンロードはこちら
セミナー風景
セミナー風景

ロングセラー
ASP.NET でいってみよう  SQL Server 2000 でいってみよう
ASP.NET でいってみよう
第7刷 16,500 部発行
SQL Server 2000 でいってみよう
第12刷 28,500 部発行
SQL Server 2014 CTP2 インメモリ OLTP 機能の概要
SQL Server 2014 CTP2 インメモリ OLTP 機能の概要(Amazon Kindle 書籍)

弊社執筆の
SQL Server 2014 自習書
マイクロソフトのサイトで公開中
目次はこちら

弊社執筆の
SQL Server 2012 自習書
マイクロソフトのサイトで公開中
ダウンロードはこちら
松本美穂のコラム
(公開活動などのお知らせ)

第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 へ参加

技術コミュニティでも活動中