SQL Serverの新バージョンでは、使用できる機能が以前と比較して増えており、これまでは実現が難しかったことが、新機能で実現できるようになっていることがあるかもしれません。マイグレーションでは「データベースの移行のみを単純に実施する」のではなく、「新環境で新しく使用できるようになった機能を有効活用する」ということにも目を向けてみてください。
SQL Server 2016 SP1以降では、Enterprise Editionでしか使用できなかった機能の一部がStandard Editionでも使用できるようになっています。
例えば、列ストアインデックス/パーティショニング/データ圧縮/インメモリOLTPといったパフォーマンスを向上させる機能や、詳細な監査(データベース監査の仕様)/Always Encryptedといったセキュリティを強化する機能は、Enterprise Editionでなければ利用できませんでした。
しかし、SQL Server 2016 SP1以降は、これらの機能をStandard Editionでも利用きるようになりました。これらの機能を活用し、処理時間を大幅に短縮したり、セキュリティを向上したりすることで、今までは難しかったシナリオを実現できるかもしれません。新しい機能の活用もぜひ、検討してください。
「環境の最新化」を目的とする場合、データベースの互換性レベルの最新化も検討してみてください。SQL Server 2017の非推奨機能を確認すると次のような記載があります。
本稿執筆時点では、非推奨機能の扱いであり、今後のバージョンでもこれらの互換性レベルを利用することは可能ですが、上記の非推奨機能にもあるように、永続的に利用できることが保証されたものではありません。
運用が始まると、データベースの互換性レベルを変更する機会も少ないかと思います。マイグレーションはデータベースの互換性レベルを変更するのに適したタイミングでもあるので、移行作業の実施に時間的な余裕がある場合は、互換性レベルの最新化も検討してください。
データベースの互換性レベルを最新化することで、新しい基数推定(互換性レベル120)/クエリオプティマイザの修正プログラムの有効化(互換性レベル130)/Adaptive Query Processing(互換性レベル140)/Intelligent Query Processing(互換性レベル150)といった機能を有効化でき、クエリの実行効率の向上につなげることができます。
データベース互換性レベルの変更により、クエリの実行効率に大きな変化が現れた場合は、クエリヒントやデータベーススコープの構成、次に紹介するクエリストアを利用することで実行効率を補正できるので、これらの方法も覚えておくとよいでしょう。
SQL Server 2016では「クエリストア」という機能で、実行されたクエリ情報を詳細に確認できるようになりました。実行に時間のかかっているクエリや、実行効率が低下したクエリを、「SQL Server Management Studio」から簡単に調査できます(画面2)。
クエリストアは、互換性レベルを変更した際の実行効率の変化確認と、効率低下時の補正にも利用できます。この機能は、データベースのプロパティを変更するだけで利用できるので、ぜひ活用してみてください。
本稿では、移行の各ステップでどのような内容を意識し、調査/検討する必要があるかを見てきました。これら調査を実施することの難易度や作業ボリュームについて、不安を覚えた方がいらっしゃるかもしれません。
ですが、調査を全て手作業で実施する必要はありませんのでご安心ください。移行に必要となる影響の調査や移行時に活用できるツールについては、Microsoftからさまざまな情報やツールが公開されています。これらを効果的に活用することで、各種作業をツールベースで実施することができます。「後編」では、SQL Serverのマイグレーションに活用できるツールを紹介します。
本稿のSQL Serverマイグレーションや、最新のSQL Serverとなる「SQL Server 2019」の最新情報については、毎月、東京・品川の日本マイクロソフトで開催されている『SQL Server丸わかり1日セミナー』でも解説しています。セミナーでは、デモを交えながら詳しく説明していますので、SQL Serverの最新情報に興味がある方はぜひご参加ください。
上記の日程以外にも開催予定がありますので、最新情報については以下のサイトでご確認ください。
Copyright © ITmedia, Inc. All Rights Reserved.