2019年7月のSQL Server 2008/2008 R2の延長サポート終了に伴い、EOS対応としてアップグレードやマイグレーションを準備/実施している方も多いでしょう。「後編」となる今回は、SQL Serverのマイグレーションを効果的に実施するための情報とツールを紹介します。
「前編」では、SQL Serverのマイグレーション作業ステップを紹介しました。マイグレーションを幾つかのステップに分けて考えることで、必要となる作業が見えてくることが理解できたのではないでしょうか。
マイグレーションの各作業ステップではさまざまな調査が必要となりますが、それを一から手作業で行うのは大変です。Microsoftでは、マイグレーションのためのさまざまな情報/ツールを提供しています。これらをうまく活用することで、マイグレーションに必要な調査を効率良く行えるようになります。
後編となる今回は、SQL Serverのマイグレーションを効率良く実施するための情報とツールを紹介します。
SQL Serverのマイグレーションを実施する際、問題点の調査や移行作業を全て手作業で行うのは大変な労力が必要となります。ツールを有効活用し、効率良くマイグレーションを実施してください。
本稿はSQL Server間のマイグレーションを前提としているため、詳しくは解説しませんが、SQL Server以外のデータベース(Microsoft Access/IBM Db2/MySQL/Oracle Database/SAP Adaptive Server Enterprise(ASE))からSQL Serverに移行する際には、「SQL Server Migration Assistant(SSMA)」というツールが利用できます。SQL Server以外のデータベースからマイグレーションを行う際には、ぜひSSMAを活用してみてください。
Microsoftが提供するデータベースに移行する場合は、最初に「Azure Database Migration Guide」を確認してみましょう。このガイドでは、Microsoftが提供している各種データベースに移行する際の情報が網羅されており、SQL Serverのアップグレードを行う場合の情報は「SQL Server(upgrade)」から確認できます(画面1)。
本ガイドでは、次の3段階の作業ステップで、必要となる情報とツールの使用方法が紹介されているので、移行に必要となる情報の全体像を確認できます。
Microsoft AzureのSQL Serverベースの環境への移行や、SQL Server以外のRDBMS(Relational DataBase Management System)からSQL Serverに移行する際の情報などもガイドとして公開されているので、SQL Serverのマイグレーションを行う際には、まずこのガイドを一読するとよいでしょう。
「SQL Serverへの移行」に関しては、以下のパターンの情報が提供されています(表1)。
移行元 | 移行先 |
---|---|
Microsoft SQL Server | ・Azure SQL Database ・SQL Server(Upgrade) ・Azure SQL Database Managed Instance ・SQL Server on Azure Virtual Machines(VMs) ・SQL Data Warehouse |
Oracle | ・Azure SQL Database ・SQL Server ・SQL Data Warehouse |
IBM Db2 | ・Azure SQL Database ・SQL Server |
MySQL | ・Azure SQL Database ・SQL Server |
Microsoft Access | ・Azure SQL Database ・SQL Server |
SAP ASE | ・Azure SQL Database ・SQL Server |
表1 Azure Database Migration Guideで提供されているSQL Serverへの移行パターン |
SQL Serverだけでなく、Microsoft Azure上で動作する「SQL Server on Azure Virtual Machines(VMs)」「Azure SQL Database」「Azure SQL Database Managed Instance」「SQL Data Warehouse」に移行するための情報も提供されているので、マイグレーションの機会にMicrosoft Azureへの移行を検討している方も、本ガイドが参考になるでしょう。
本ガイドでは、次の項で紹介する各種ツールの使用方法も紹介されているので、「移行に使用できるツールの把握や基本的な操作方法の確認」でも活用できます。
「Data Migration Assistant(DMA)」は、SQL Server 2014まで提供されていた「SQL Serverアップグレードアドバイザー」というツールの最新バージョンで、SQL ServerのバージョンアップやSQL ServerベースのPaaSへ移行する際に活用できます。
DMAには、移行対象のSQL Serverの「アセスメント」と「マイグレーション」の機能が含まれており、問題点の調査と実際のデータベース移行を行うことができます。
●アセスメント
SQL Serverのバージョンアップやクラウドへの移行を伴うマイグレーションでは、移行後の環境で使用できる機能の制約により、今までの環境では動作していたものが、そのままでは動作しない可能性があります。
前編でも紹介したように「SQL Serverの互換性レベル」の設定についても、移行元で利用している設定によっては、バージョンアップで自動的に設定が変更されることがあります。
互換性レベルの変更による影響については、SQL Serverドキュメントの「DATABASE互換性レベル」に記載されていますが、これらの内容がマイグレーションを行う環境で該当するのかどうかを一つ一つ調査するのは難しいでしょう。
このような調査は、DMAで実施することを検討しましょう(画面2)。SQL Serverのアセスメントを行う際には、移行先のバージョンを指定できるので、さまざまなバージョンへのアップグレード調査に使用できます。
SQL Server 2017からはWindowsだけでなく、Linux版も提供されています。DMAは、Linux版SQL Serverに移行する際のアセスメントも行えるので、SQL ServerのLinux対応が必要となった場合の調査にも使用できます(画面3)。
DMAでアセスメントを行うと、データベースの互換性レベルの変更による影響や、バージョンアップで非推奨となる機能の情報をレポートで確認できます(画面4)。
例えば、ストアドプロシージャのようなデータベース内に含まれているクエリについては、互換性レベルが変更された場合、互換性に影響が出るかどうかのアセスメントも実行されるので、改修が必要となるクエリも調査できます。
Azure SQL DatabaseやAzure SQL Database Managed InstanceのようなPaaSとSQL Serverの機能の違いもアセスメントできるので、クラウド環境に移行する際の影響度調査にも活用できます。
DMAは、マイグレーションでどのような影響を受けるのかを網羅的に把握できるので、アセスメントの作業ステップで有効に活用してください。
●マイグレーション
DMAはアセスメントだけでなく、データベースのマイグレーションを「オフライン移行」するための機能も備えています。
SQL ServerやAzure SQL Database Managed Instanceのような、データベースのバックアップ/リストアで移行できる環境については、バックアップを使用したマイグレーションを行うための機能が含まれています(画面5)。
SQL Databaseのようなバックアップ/リストアが使用できない環境については、テーブルのスキーマのスクリプトとエクスポートデータでマイグレーションを行うための機能が含まれています。GUIを使用した簡単な操作でデータベースを移行できるので、移行対象が多い場合は、DMAの移行機能の活用を検討するとよいでしょう。
●Azure SQL Database移行時のサイジング
DMAにはアセスメントとマイグレーションの他に、もう一つ機能が含まれています。それが「Azure SQL Database移行時のサイジング」機能です。
オンプレミスのSQL ServerをPaaSのAzure SQL Databaseに移行する場合、「現在の性能に対してどのサイズを選択すると適切か」の判断に悩むことがあります。このような悩みを解決する機能が「Azure SQL Database移行時のサイジング」で、移行対象のSQL Serverで性能情報を取得し、その情報を基に移行後の推奨サイズのレポートを作成します(画面6)。
クラウド移行を行う際に、既存環境に利用状況に適したサイズを選択するのが難しいと感じた場合は、この機能を活用してみてください。
Copyright © ITmedia, Inc. All Rights Reserved.