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

ホーム > 技術情報 > SQL Server 2014 実践 No.2 SQL Server 2014 への移行とアップグレードの実践

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

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

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

1.1 SQL Server 2014 へ移行/アップグレードするメリット

旧バージョンの SQL Server(SQL Server 2005 や 2008、2008 R2、2012)を SQL Server 2014 へ移行/アップグレードするメリットは、次のとおりです。

◆ メリット1 性能向上

SQL Server 2014 には、OLTP 向けのインメモリ機能である「インメモリ OLTP」や、DWH/BI 向けのインメモリ機能である「クラスター化列ストア インデックス」(カラム指向データベースの SQL Server 実装)、SSD をバッファ プールの一部として利用可能な「バッファ プール拡張」、トランザクション ログへの遅延書き込みが行える「Delayed Durability」、「クエリ オプティマイザーの改良」(新しい基数推定のアルゴリズムや SELECT INTO のパラレル処理)など、性能向上を実現できる機能が数多く搭載されています。

詳しくは後述しますが、クラスター化列ストア インデックスの早期導入を行った株式会社gloops では、約240倍の性能向上を実現しています。同社は、数多くのソーシャル ゲームを提供していることで有名ですが、人気ゲーム「スカイロック」でのユーザー行動分析用 DWH 作成や、ユーザー ランキングの生成に SQL Server 2014 を採用し、従来 12分かかっていたバッチ処理を、わずか 3秒に短縮、テーブル容量は 55GB から、わずか 2.8GB へと、1/20 にも圧縮することができています。

また、インメモリ OLTP の早期導入を行った bwin 社では約16.7倍の性能向上(最新の検証では約30倍の性能向上)、FX 取引で有名な SBIリクイディティ・マーケット株式会社では約2.5倍の性能向上(各種のパフォーマンス チューニングによって、元々のシステムと比べると約30倍の性能向上)、Edgenet 社では約8~11倍の性能向上を実現しています。

このように、SQL Server 2014 は、大きな性能向上を期待できることが最大のメリットです。

4つ前のバージョンである SQL Server 2005 から SQL Server 2014 への移行/アップグレードを行う場合には、SQL Server 2008 以降で提供された機能も大きなメリットになります。たくさんの性能向上に関する機能が提供されていますが、主なものは次のとおりです。

00004

この中でも、SQL Server 2008 から提供された「データ圧縮」や「バックアップ圧縮」は、大きな性能向上を実現できる機能なので、弊社のお客様でもたくさん利用されています。

◆ メリット2 Windows Server 2003/2003 R2 のサポート終了

SQL Server 2005 SQL Server 2008 を動作させる OS としては、Windows Server 2003 Windows Server 2003 R2 を利用しているという場合が多いのではないでしょうか。弊社のお客様にもたくさんいらっしゃいます。Windows Server 20032003 R2は、2015年7月15日にサポートが期限切れになるので、これ以降は、もし新たな脆弱性が見つかったとしても修正プログラムが提供されなくなってしまいます。

これは、OS Windows Server 2012 R2 などへ移行/アップグレードする良い機会になります。また、SQL Server 2005 は Windows Server 20122012 R2 上では動作させることができないので、SQL Server も合わせてアップグレードする良い機会にもなります(SQL Server 2005は、Windows Server 20082008 R2上では動作させることができますが、より最新の OS へアップグレードすることで、サポート期限を長くすることができます)。

OS の移行/アップグレードに関する情報は、以下のキャンペーン サイトが参考になると思います。
http://www.microsoft.com/ja-jp/server-cloud/local/products/windows-server-2012-r2/migration/campaign.aspx

00005

OS が変わると、SQL Server の動作が心配」という方もいらっしゃると思いますが、SQL Server は、SQL Server だけで完結した製品なので、OS の影響をほとんど受けません(OS が変わったとしても、SQL Server の動作にはほとんど影響がありません。影響があるのは NTFS アクセス許可ぐらいです)。弊社のお客様でも、SQL Server をアップグレードするタイミングで OS を変更することが多いのですが、該当マシンを SQL Server 専用として利用している場合には、今まで(SQL Server で)問題が起きたことはありません。

また、Windows Server 2008 R2 以降は X64(64ビット)環境のみのサポートになるので、32ビットから 64ビット環境へ移行するという場合もあると思いますが、SQL Server 専用のマシンであれば、この影響もほとんどありません。SQL Server の機能は、32ビットでも 64ビットでも全く同じように動作させることができ、むしろ 64ビット化することによる性能メリットが(必ずといっても過言ではないほど)得られます。弊社のお客様でも、32ビットを 64ビット環境に移行することで、確実に性能向上しています。

これは最近のハードウェア性能の向上による影響も大きく、数年前に比べてメモリが非常に低価格になっていたり、CPU コア数の増加や、ファイバ チャネルなどストレージ接続部分での高速化、SSD/フラッシュ ストレージの低価格化など、数年前と同じ金額で、(当時と比べると)非常に高性能なマシンを購入することができます。例えば、メモリを 128GB 搭載したマシンでも、エントリ レベルのサーバーであれば 200万円以下で購入できてしまいます。

過去に、32ビットから 64ビット環境への移行時に問題となりえたのは、IIS(Web サーバー)上で ASP/ASP.NET を動作させていた場合で、この場合は(32ビットの)COM コンポーネントを動作させるために、いくつかの修正が必要になりました(SQL Server のデータベースに関しては修正の必要はありませんでした)。

SQL Server 2005 から SQL Server 2014 へのデータベースの移行もサポート

詳しくは第5章の「データベースの移行手順」で説明しますが、最も基本となるデータベース エンジン部分に関しては、SQL Server 2005 から SQL Server 2014 では大きな変化はないので、SQL Server 2005 上で取得したデータベースのバックアップを SQL Server 2014 上にリストアしても、多くの場合は何の問題もなく動作します。実際、弊社のお客様でも、今のところ 4社のデータベースを移行/アップグレードして検証していますが、特に問題は発生していません(ストアド プロシージャやアプリケーションは問題なく動作し、OS を変更した影響もありません)。また、前述したような SQL Server 2014 からの新機能が利用できることによって、多くの処理で性能向上を実現することができるので、アップグレードするメリットがあります。

なお、SQL Server 2014 は、Windows Server 20032003 R2 へはインストールすることができないので、SQL Server 2005Windows Server 20032003 R2 の環境を SQL Server 2014 へ移行/アップグレードするには、OS を Windows Server 2008 SP2(Service Pack 2)以降に上げておく必要があります(後述しますが、SQL Server 2014 の OS の最低要件が Windows Server 2008 SP2 になります)。

また、SQL Server 2014 は、32ビット(x86)環境でも動作させることができますが、32ビット上で大容量メモリを利用するためのオプションである「AWE」(Address Windowing Extensions)は、SQL Server 2012 から未サポートになっているので、大容量メモリをフル活用するためには、64ビット版(X64)を利用する必要があります。これは、32ビット環境を 64ビット環境へ移行する良い機会にもなります。

◆ メリット3 DWH/BI 機能のさらなる充実

SQL Server は、DWH(データ ウェアハウス)および BI(ビジネス インテリジェンス)関連の機能がバージョンが上がるたびにどんどん進化しているのも大きな特徴です。SQL Server 2014 からは「Power View の多次元対応」や、さまざまなデータソースからデータを取得/加工することができる「Power Query for Excel」などが提供されて、さらに充実しています。

00006

SQL Server 2005 から SQL Server 2014 へ移行/アップグレードする場合には、SQL Server 2008 以降で提供された以下の DWH/BI 機能を利用できることも大きなメリットになります。

00007

SQL Server 2005 と比較すると、Reporting Services が特に大きく進化しています。レポートが非常に作りやすくなって、かつ多彩なグラフ表現ができるようになったことで、弊社のお客様にも大変好評です。Excel と同じようなレポートを作成することも可能で、弊社のお客様では、今まで Excel で(人手で)管理していたワークシート(分析レポート)を、Reporting Services に移行することで分析レポートの作成を自動化する、といった使い方をしていたりします。

Reporting Services の多彩なグラフ表現(Excel と同じようなグラフ/レポートを作成可能) 00008

00009

また、SQL Server 2012 からはインメモリの BI エンジンとして Analysis Services が強化されたことも大きな進化です。従来の Analysis Services の多次元モデルよりも、高速な分析を行えるようになり、大量のデータ/ビッグデータにおける多次元分析にも利用することができます。

◆ メリット4 クラウド(Microsoft Azure)対応のさらなる充実

SQL Server 2014 は、Microsoft の提供するクラウド環境「Microsoft Azure」上の仮想マシン(VM:Virtual Machine)で動作させることもできます。また、Microsoft Azure の提供する「SQL データベース」(旧名:SQL Azure)サービスを利用すれば、SQL Server とほとんど同等のデータベース エンジン機能をクラウド利用することもできます。SQL Server の Microsoft Azure 対応機能には、主に次のものがあります。

00010

バージョンが上がるごとに、クラウト対応機能が充実していき、SQL Server 2008 のころはコマンド ラインでしか操作できなかったものが、SQL Server 2014 では多くの操作が GUI でできるようになり、設定を容易に行えるウィザードもたくさん提供されるようになりました。

SQL Server 2014 では、オンプレミス(ローカル環境)のデータベースを、SQL データベースMicrosoft Azure 上の仮想マシンに簡単に配置(複製)することができたり、クラウド バックアップ(オンプレミスのデータベースをクラウド上にバックアップ)したり、クラウド DR(ディザスター リカバリ)を簡単に構成できる AlwaysOn 可用性グループのウィザードが提供されたりしています。

00011

◆ SQL Server 2005 からの移行/アップグレードのメリット

前述したように、SQL Server 2005 から SQL Server 2014 への移行/アップグレードを行う場合には、SQL Server 2008 以降で提供された機能も大きなメリットになりますが、ここまでに挙げた以外にも、次のような役立つ機能があります。

00012

SQL Server 2005 と比較すると、コンプライアンス(法令遵守)関連の機能が非常に充実しています。SQL Server 2008 からの SQL Server Audit 機能を利用すれば、SQL Server に対するあらゆる操作の監査/ログ記録を行うことができるようになり、透過的なデータ暗号化機能を利用すれば、物理ファイルを暗号化することもできます。

SQL Server Audit で監査を作成しているときの様子 00013

SQL Server 2008 からは、パフォーマンス データ コレクション機能が提供されたことも大きな特徴です。この機能を利用すれば、SQL Server の動作状況を自動監視することができ、監視した結果をもとにグラフィカルなレポートを生成してくれるので、性能監視を非常に簡単に行えるようになります。

パフォーマンス データ コレクションで性能監視をしているときの様子(グラフが自動作成される) 00014

SQL Server 2012 からは、AlwaysOn 可用性グループ機能が提供されたことも大きな進化です。これは、データベース ミラーリングを進化させたような機能で、サーバー間でのデータベースの複製ができることはもちろん、セカンダリ(複製)側のデータをリアルタイムに参照できたり、セカンダリを複数台(SQL Server 2012 では最大 4台、SQL Server 2014 からは最大 8台)構成できたり、セカンダリ側でデータベースのバックアップを取得したりすることもできます。データベースの複製による可用性の向上だけでなく、セカンダリを有効活用することもできるようになっています。また、前述したようなクラウド DR(セカンダリを Microsoft Azure 上に配置)を実現することもできます。

00015

これらの SQL Server 2008 以降に提供された新機能については、SQL Server 2014 自習書シリーズの「SQL Server 2005 ユーザーのための SQL Server 2014」で詳しく説明する予定なので、こちらもぜひご覧いただければと思います(ステップ バイ ステップ形式で簡単に試せるようにしたものを提供する予定です)。

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

事例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 へ参加

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