SQL Serverマイグレーションの歩き方[後編]――マイグレーションに活用できるツール:SQL Server 2008 EOSにも対応できる!(2/2 ページ)
2019年7月のSQL Server 2008/2008 R2の延長サポート終了に伴い、EOS対応としてアップグレードやマイグレーションを準備/実施している方も多いでしょう。「後編」となる今回は、SQL Serverのマイグレーションを効果的に実施するための情報とツールを紹介します。
[ツール]Database Experimentation Assistant(DEA)
DMAでは、SQL Server内のオブジェクトに対してアセスメントを行うことができました。ストアドプロシージャやトリガーの互換性はDMAで確認できますが、アプリケーション内で生成されているクエリについては、SQL Server内に含まれていないオブジェクトとなるため、DMAでは互換性を確認できません。
アプリケーション内で生成されているクエリを含め、互換性を詳細に調査したい場合は「Database Experimentation Assistant(DEA)」の利用を検討してください。
DEAはクエリのA/Bテストを実行できるツールで、「A環境/B環境で同一のクエリを実行した結果」を比較できます。最初に、テストで使用するクエリをアプリケーションから実行し、使用するワークロードのキャプチャを行います(図1)。
次に、キャプチャしたワークロードをA/B環境に再生することで実行結果の比較を行います(図2)。
DEAは、このキャプチャ/再生/レポート作成の一連の流れを実現できます。DEAを活用することで、次のような比較が行えます。
- バージョンアップ/データベース互換性レベルの変更により、エラーが発生するようになったクエリの確認
- サーバの設定変更やインデックス追加といった性能改善のための作業を行った場合の効果確認
実際にDEAを実行し、作成したレポートが以下の画面です(画面7)。このレポートは、SQL Server 2008 R2とSQL Server 2017にDEAを使用してクエリを実行した結果です。
SQL Server 2008 R2では実行できるが、SQL Server 2017では互換性のないクエリがキャプチャーされる情報に含まれていたため、SQL Server 2017ではエラーとなったクエリが存在したことを、レポートのエラー発生情報から確認できます。
DEAはクエリの互換性を確認するための心強いツールですので、ぜひ活用してみてください。
[ツール]Azure Database Migration Service(DMS)
最後に紹介するのが、Azureのサービス「Azure Database Migration Service(DMS)」です。DMSを使用することでマイグレーションに利用できる環境を簡単に準備できます。また、DMSは、さまざまなマイグレーションシナリオをサポートしています。
SQL Server 2005からSQL Server 2017までがサポート対象になっているので、Azure上のデータベースに移行する場合は、利用を検討してみてください。
●DMSを使用する際に必要となるネットワーク構成
DMSはAzureのサービスであるため、DMSを展開したAzureの上のネットワークと移行元のSQL Serverがネットワーク的に疎通可能な状態になっている必要があります。
社内にあるSQL Serverのマイグレーションで使用する場合は、Azureと社内ネットワークがVPNで接続され、DMSというクラウド上のサービスが社内ネットワークにアクセスできるようにする必要があります(図3)。最初に移行に必要となるネットワークの構成を満たすことができるかどうかを確認してください。
●DMSの特徴
SQL Serverからのマイグレーションでは、DMSは次のパターンをサポートしています(表2)。
移行元 | 移行先 | 移行方法 |
---|---|---|
SQL Server 2005〜2017 | Azure SQL on Azure Virtual Machines | ・オフライン移行 |
Azure SQL Database Managed Instance | ・オフライン移行 ・オンライン移行 |
|
Azure SQL Database | ・スキーマのみ移行 ・オフライン移行 ・オンライン移行 |
|
表2 DMSがサポートするSQL Serverのマイグレーションパターン |
DMSは「AzureのPaaSのデータベースへのオンライン移行」をサポートしていることが特徴の一つです。SQL Database Managed Instanceにデータを移行する場合、レプリケーションなどの機能を使用することで、テーブル単位でのオンライン移行が可能ですが、Managed Instanceのデータベース全体を継続的に同期するオンライン移行をサポートしているのは、本稿執筆時点ではDMSだけです。
SQL Databaseについても、オンライン移行をサポートしており、こちらにも特徴があります。
オンプレミスのSQL ServerからAzure SQL Databaseに対しては、レプリケーションをサポートしています。
しかし、SQL Server 2012 SP2 CU(累積的な更新プログラム)8以降からのサポートとなっており、SQL Server 2008/2008 R2はサポートされていません。
データの継続的な同期を行う場合は「トランザクションレプリケーション」を使用することになります。ただし、トランザクションレプリケーションで移行するテーブルには主キーが必要となるので、レプリケーションに対応しているバージョンでも、移行対象のテーブル構造によっては、同期の設定が行えない可能性があります。
他にも「Data Sync」という機能を使用して、SQL Databaseにデータ同期を行うこともできますが、この機能についても主キーが必要となります。
DMSのオンライン移行ではレプリケーション機能が使用されていますが、レプリケーションだけでなく、変更データキャプチャーを使用できる環境であれば、「主キーがないテーブルについてもオンラインで移行できる」ようになっています。
SQL Databaseへのレプリケーションが対応していない、SQL Server 2005/2008/2008 R2でも、DMSを利用することでSQL Databaseへのオンライン移行が可能になるので、SQL Serverの標準機能だけでは対応できないオンライン移行をDMSで実現することができます。
オンライン移行をDMSを使用せずに、オンプレミスの環境のみで実現したいという場合は、「Attunity Replicate for Microsoft Migrations」の利用を検討してみてください。
Attunity Replicate for Microsoft Migrationsは、有償の製品である「Attunity Replicate」を、Microsoftが提供している各種データベースへの移行に限定して無償で利用することができる、期間限定で提供されているプログラムとなります。
Attunity Replicate for Microsoft Migrationsもオンライン移行をサポートしているので、このプログラムが提供されている期間内であれば、SQL Serverのマイグレーションに活用できます。
おわりに
本稿では、SQL Serverのマイグレーションを実施するに当たり、どのような作業を考慮し、どのような情報が公開されているのか、基本的な内容をまとめました。
実際のマイグレーション作業では、さらに細かな検討が必要になることもありますが、本稿の情報を参考にすることで「何から始めればよいか分からない」という悩みについては、解消できるのではないでしょうか。
また、こちらのサイトで「製品/サービス」からSQL Serverを検索すると、ステップバイステップでSQL Serverを学習することができる自習書シリーズや、SSMAを使用したOracleからの移行方法といったドキュメントをダウンロードできます。これからSQL Serverを学習しようという方は、これらのドキュメントも活用してみてください。
●お知らせ
本稿のSQL Serverマイグレーションや、最新のSQL Serverとなる「SQL Server 2019」の最新情報については、毎月、東京・品川の日本マイクロソフトで開催されている『SQL Server丸わかり1日セミナー』でも解説しています。セミナーでは、デモを交えながら詳しく説明していますので、SQL Serverの最新情報に興味がある方はぜひご参加ください。
上記の日程以外にも開催予定がありますので、最新情報については以下のサイトでご確認ください。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- SQL Serverマイグレーションの歩き方[前編]――マイグレーションの作業ステップ
2019年7月のSQL Server 2008/2008 R2の延長サポート終了に伴い、EOS対応としてアップグレードやマイグレーションを準備/実施している方も多いでしょう。「前編」となる今回は、SQL Serverのマイグレーションに必要な作業ステップについて解説します。 - SQL Server 2008/Windows Server 2008のサポート終了を延長する「拡張セキュリティ更新プログラム」、Azureなら3年間無料
標準の延長サポート終了が近づくSQL ServerとWindows Serverに対し、延長サポートを3年間拡張する新たなオプションが発表されました。これは2016年12月に発表された「Premium Assurance」を置き換えるものであり、Azure仮想マシンに対しては無償提供されます。 - どうするSQL Server 2008のサポート期限? そうだ、クラウドへいこう!
2019年7月9日のSQL Server 2008/2008 R2の製品サポートの終了まで、残すところあと1年と少し。2018年5月、オンプレミスまたはクラウドの最新SQL Server環境への移行を支援するツールの最新版と大規模データベース移行に適した移行サービスの正式版が利用可能になりました。 - サポートが終了するサーバOSを使い続けるリスクを考える
Windows Server 2008/2008 R2のサポート終了日まで後2年を切った。今後、さまざまなところでサポート終了に関するトピックを目にする機会が増えるだろう。そもそも、サーバOSのサポートが終了する影響とは、どのようなものなのだろうか。本連載では、Windows Server 2008/2008 R2を新しいサーバOSへ切り替える必要性やメリットなどを解説する。