不動の鳥の勉強記録

時間があるときに勉強したことをメモします。

SQL Server 2008 R2のサポート終了からアップグレードを考える

いままでSQL Serverは2008 R2までしか触ったことがなかったのですが、この度SQL ServerのEOSLのお仕事が発生しそうなのでブログにまとめていきます。この記事が多くの人の参考になったら幸いです。

■はじめに

まず直近サポート終了を迎える製品とサポート終了日を改めて確認しましょう。

製品名 リリース日 メインストリーム サポート終了日 延長サポート終了日
Windows Server 2008 2008年5月6日 2015年1月13日 2020年1月14日
Windows Server 2008 R2 2009年10月22日 2015年1月13日 2020年1月14日
SQL Server 2008 2008年11月7日 2014年7月8日 2019年7月9日
SQL Server 2008 R2 2010年7月20日 2014年7月8日 2019年7月9日

このようになっており、SQL Server 2008およびSQL Server 2008 R2については今年の7月で、Windows Server 2008およびWindows Server 2008 R2については、来年1月で延長サポートが終了します。
延長サポートが終了すると、プレミアサポートに問い合わせても有意義な回答が得られなくなるため、障害が発生した場合に根本原因の解決などが難しくなります。また、基本的にセキュリティパッチの配布も終了するため、セキュリティリスクを抱えてしまいます。

そこで、まずはアップグレードを行う場合の製品は何があるのか、何を考えないといけないのかまとめていきたいと思います。Windows系にアップグレードする話になりますのでご了承ください。

■アップグレード後の製品選定

アップグレードする対象のWindows系のライフサイクルを確認します。

製品名 リリース日 メインストリーム サポート終了日 延長サポート終了日
Windows Server 2012 2012年10月30日 2018年10月9日 2023年10月10日
Windows Server 2012 R2 2013年11月25日 2018年10月9日 2023年10月10日
Windows Server 2016 2016年10月15日 2022年1月11日 2027年1月12日
Windows Server 2019 2018年11月13日 2024年1月9日 2029年1月9日
SQL Server 2012 2012年5月20日 2017年7月11日 2022年7月12日
SQL Server 2014 2014年6月5日 2019年7月9日 2024年7月9日
SQL Server 2016 2016年6月1日 2021年7月13日 2026年7月14日
SQL Server 2017 2017年9月29日 2022年10月11日 2027年10月12日

どの製品を選んでも東京オリンピックは超えられそうですね。製品選定の時は下記3つの視点で製品を提案しています。それぞれ書いていきたいと思います。

1. お客様が何年継続して利用しようとしているか

お客様へのヒアリングによりますが、SQL Server 2008/SQL Server 2008 R2の場合10年程度使い続けてEOSLを迎えているため、この先もなんだかんだで長く使い続けるのではないかと個人的には思います。そのため、一つ先のバージョンだと再びEOSLを迎えてしまう可能性がありますので、最新もしくはその1つ前の安定している製品を選びたい。この視点からだと…

を提案します。もちろんお客様から製品の要望があった場合はその製品で考えますし、お客様の中長期的なIT戦略も考慮が必要です。

2. 改修コストはお客様の見積もりの範囲に収まりそうかどうか

改修コストの見積もり方は経験から算出していることが多いと思いますので割愛します。気を付けるポイントを記載していきます。

  • OSにインストールしているアプリケーションを継続利用できるかどうか。
    あるあるですが特にWindows Server 2008は32ビットのOSも存在するため、対象サーバのインストールソフトウェア一覧から対応有無を確認することが必要です。製品によってはライセンスの買替えが必要となる場合があります。

  • DBへの接続ドライバーは問題ないか。
    MicrosoftのページにSQL Serverのドライバーのページがありますので確認をしてください。例えばJDBCではSQL Server 2017に対応しているドライバーはJRE 1.8以降となっているため、お客様のアプリケーションがJRE 1.8未満の場合はJavaのバージョンアップが必要になる可能性があります。

3. 必要な機能が実装されているかどうか

最後はリリース後の運用なども考えた際に必要な機能が実装されているかどうかを確認してください。先の改修コストにもかかってきますが、SQL Serverの場合は、EnterpriseエディションとStandardエディションで利用できる機能が異なってきます。また、SQL Server 2016からはデータベースミラーリングが非推奨となり、Standardエディションでも2台のAlways on 可用性グループを構築できるようになるなど機能ももちろん追加されています。この辺りは自習書などが参考になります。

■その他:Azureへの移行

オンプレミスの環境からAzureに移行すると3年間はセキュリティ更新プログラムを無償提供していただけるそうです。これを機にAzureへの移行も一つの手段です。ただ3年間なので3年以内に再度対応を考えないといけません。

■おわりに

今から延長サポート終了までになんとかして!っていう駆け込みのお客様は多いかも知れません。きちんと工期と工数を確保し、十分に検証してからリリースできるスケジュールを立てさせてくれるお客様の案件を選びましょう。
記事に誤りなどありましたらコメントにてご指摘お願いします。

■参考文献

参考になるMicrosoft様のページを張っておきますので参照ください。