SQL Server 2008/2008 R2は2019年7月9日、延長サポート終了日を迎える。次期バージョンであるSQL Server 2019は、データベースに求められる安定性はもちろん、Apache SparkとHDFS(Hadoop Distributed File System)を搭載し、さまざまな場面でのデータ活用に適していると言われる。
経営分析やビジネス戦略の立案にデータ分析を駆使するのが当たり前になった今、10年以上前にリリースされたデータベースを使い続けるのは、自ら機会損失を招く行為とも言える。
仮にSQL Server 2008/2008 R2を今後も使い続けるシナリオを選択したとしよう。サーバOSであるWindows Server 2008/2008 R2のサポートが2020年1月14日に終了するという課題に直面することになる。そこで、脆弱性対策を理由にOSだけバージョンアップしようとしても、主流であるWindows Server 2016ではSQL Server 2008/2008 R2がサポート対象外だ。
つまり、データベースを使い続けたいというお客様も、OSを更新したいと考えるお客様も、結局はデータベースをバージョンアップしなくてはならないのである。
しかし、システムの更新は大きな業務負担につながり、本業に支障を起こしかねないため、迷う経営陣も多いと考えられる。そこで、マイクロソフト社のパートナーであるNECグループで、SQL Serverを長年支援してきたNECソリューションイノベータに話を聞いた。
SQL Server 2008/2008 R2を使い続けるリスクとは
-- SQL Server 2008/2008 R2のサポート終了は理解していますが、バージョンアップにはさまざまなコストが発生します。そのまま使い続けるとどんな問題が発生するでしょうか。
NECソリューションイノベータ
プラットフォーム事業本部
サポートサービス事業部
プロフェッショナル
三浦和氏
三浦氏古いバージョンを使い続けることで、お客様の管理コストがかかります。ある日突然、性能問題が発生したとしましょう。解決するには問題発生時の各種情報が必要ですが、この時、仕掛けを作って能動的に収集しなければなりません。
古いSQL Serverですとトレースログを使用しますが、本番環境に負荷を掛けてしまいます。SQL Server 2016以降であれば、クエリストアで性能問題が発生した際の情報を確認できるため、特別な対応をすることなく問題を解決できます。
また、重大エラーやデッドロックなどの障害が発生した際、SQL Server 2008では現象発生時の情報がなく再現時の情報採取待ちとなるケースが多くありました。SQL Server 2012以降であれば、デッドロックの情報をはじめ、エラーや長時間待機したセッションに関する追加情報がシステムヘルスによって自動的に取得されます。このようにSQL Serverは、バージョンを重ねるごとにトレーサビリティー(追跡可能性)が向上しているため、問題解決に至るまでの時間を短縮できます。
そのお陰でしょうか。SQL Server 2008の頃に比べて、サポートを提供している弊社への問い合わせ件数は減少しました。SQL Server自体の品質向上も寄与しますが、トレーサビリティーの向上によって、原因究明と根本的な対処が可能になるケースが増えていると感じます。
アセスメントの重要性
-- バージョンアップの必要性は理解できました。対処すべき問題の有無や対処方法、コストや難易度が分からず実施に踏み切れないケースもあるのではないでしょうか。
三浦氏はい。バージョンアップに伴うトラブルや、対処方法が分からなければ不安に感じるのは当然です。そのため、バージョンアップ前にアセスメント(事前影響評価)を実施し、非互換性や対象箇所を可視化する「システム更改支援サービス」を、お客様にご提案しております。
マイクロソフト社からは、SQL Serverのアセスメントツールが提供されています。しかしながら、すべてのお客様がSQL Serverに精通しているわけではありません。そこで我々がバージョン間における互換性や機能差異を確認し、対応方法をお知らせします。ある医療系のお客様はSQL Server 2008のお客様でした。このデータベース環境をSQL Server 2017までバージョンアップしなければならず、お客様も不安に感じていたようです。本サービスを提供したところ、バージョンアップに伴ってエラーになる構文など非互換項目を多数検知したことで、問題発生件数はゼロでした。お客様にも満足してもらいました。
NECソリューションイノベータ
プラットフォーム事業本部
サポートサービス事業部
データベースソフトウェアサービスグループ シニアマネージャー
太田智行氏
太田氏SQL Serverには下位バージョンをエミュレートする互換性レベルを用意しています。例えばSQL Server 2012まではSQL Server 2005互換モードがありましたが、SQL Server 2014ではSQL Server 2005互換モードの搭載は見送られました。やはりバージョン間の幅が広がるほどハードルが高くなることは認識する必要があります。また、SQL Server 2017はSQL Server 2008/2008 R2互換モードをサポートしていますが、お客様のシステムで稼働しているSQL Server 2008/2008 R2が既に下位バージョンをエミュレートしているケースも多く、現在どの互換レベルで動作しているのかを確認するなど、チェックすべきポイントは多岐にわたるため、アセスメントの重要性が高まります。