互換性の問題を明らかにする

完了

あなたは法律事務所のデータベース管理者であり、組織で使用されている SQL Server インスタンスの中にアップグレードを必要とするものがあることがわかりました。 あなたは、移行後もデータベースが引き続き機能することを確認したいと考えています。 CTO は、データベースを SQL Server 2019 に移行することによって得られる投資収益率 (ROI) の詳細を示すレポートを作成しています。 あなたは、ユーザーにとってメリットとなる SQL Server 2019 の機能の詳細を提供するように求められています。 CTO は、これらの詳細を使用して事務所のパートナーに投資には価値があると安心させたいと考えています。

Microsoft Data Migration Assistant (DMA) を使用すると、各データベースの互換性の問題を確認でき、いくつかのデータベースは Azure SQL Database に移動されているため、移行後にサポートされない機能を特定することができます。 また、DMA により、ターゲット データベースで新機能を使用する方法についても推奨されます。

このユニットでは、互換性の問題を特定し、推奨事項を提供し、評価をレポートとしてエクスポートするための、DMA の機能を調べます。

互換性の問題を明らかにする

DMA では、ソース データベースの SQL Server のバージョンと予定されているアップグレード バージョンが比較され、互換性のない変更、動作の変更、および非推奨になる機能が識別されます。 アップグレード バージョンを、どこにもインストールすることなく確認するには、DMA を使用します。 アップグレードの影響を確認するための実現可能性の調査を実行している場合は、ターゲット バージョンを選択し、既存のデータベースに対して評価を実行します。初期セットアップやライセンス コストは必要ありません。

オンプレミスのソース バージョンとしては、SQL Server 2005 以降がサポートされています。 Azure SQL Database、SQL Server、および Azure Virtual Machines 上の SQL Server のターゲットの種類を選択します。 ターゲットの種類として選択したオプションにより、選択できるターゲットのバージョンが決まる場合があります。 ソースがオンプレミスの SQL Server インスタンスの場合は、SQL Server 2012 から SQL Server 2019 (SQL Server on Linux を含む) までと比較することができます。 一方、Azure SQL Database または Azure 仮想マシン上の SQL Server を選択した場合は、DMA では使用可能な現在の Azure のバージョンに対してだけ比較されます。

1 つ以上のデータベースおよび 1 つ以上のインスタンスで、評価を実行できます。 ターゲットが Azure SQL Database の場合は、互換性チェックと一緒にパフォーマンスに関する推奨および SQL Server の機能パリティ チェックを実行することができます。 または、各評価を個別に実行することもできます。 選択した各データベースのサイズは、評価の実行にかかる時間に影響します。

評価はデータベースの開発バージョンまたはテスト バージョンで実行するのがベスト プラクティスです。 評価が完了したら、運用データベースで同じチェックを実行します。 運用環境で評価を実行する必要があるときは、ユーザーに影響を与えないよう、確実に活動が最も少ないときに実行してください。

Screenshot of the Data Migration Assistant with the New assessment dialog open.

既定では、DMA によって各評価プロジェクトが保存され、評価を再度開いて結果を見ることができます。 最後のチェック以降に変更を行った場合は、再度実行します。 DMA によって資格情報が保存されるので、設定を再構成する必要はありません。 また、不要になった評価を削除することもできます。

機能の推奨を調べる

[新機能のお勧め] の評価は、[Compatibility issues](互換性の問題) の評価と共に実行することも、単独で実行することもできます。 評価は 3 つの主要領域について行われます。

  • パフォーマンス
  • セキュリティ
  • ストレージ

Screenshot of the Data Migration Assistant assessment tab opened to the first step requiring user to select options.

データベースを新しいバージョンの SQL Server に移行しても、パフォーマンスの向上は保証されません。 クエリ エンジンを変更した場合、移行中または移行後にデータベースを変更しないと、ターゲットでのソース クエリの実行が最適ではなくなる場合があります。 新しいインデックスの拡張によって大規模なデータセットに対する結果が高速になるため、既存のインデックスは十分ではなくなる可能性があります。

こうした高速になる結果は、企業データをリアルタイムで分析する場合には特に重要な場合があります。 たとえば、SQL Server 2008 R2 から SQL Server 2019 にデータベースをアップグレードしているとします。 DMA がインデックスを評価した後に、既存のクラスター化インデックスを削除し、クラスター化列ストア インデックスに置き換えることを推奨される場合があります。 最新のビジネスによってキャプチャおよび格納されるデータの増加により、データベースの動作を可能な限り速くすることが、移行の最大の理由になる場合があります。

セキュリティ評価では、新しい機能を利用することで機密データをいっそう厳密に制御できるデータベースの領域が明らかにされます。 推奨は、価値の高、中、低で分類されています。 たとえば、顧客の連絡先の詳細を SQL Server 2008 R2 データベースから SQL Server 2019 にアップグレードする場合、DMA では、Always Encrypted (AE) または動的データ マスク (DDM) を使って個人情報などの機密データをセキュリティ保護することが推奨される可能性があります。 DMA には、推奨されている各機能を使用するための完全な手順が含まれています。

ストレージに関する推奨も、価値によって高、中、低に分類されています。 たとえば、DMA では、拡張データベースを使ってストレージ コストを削減することが提案され、この改善を実現する方法が推奨される場合があります。 拡張テクノロジと互換性のない CHECK 制約など、データベース内に何らかの問題がある場合、DMA ではこの問題が強調表示されます。

SQL Server 機能のパリティ

Azure SQL Database または Linux 用 SQL Server のターゲットに対して評価を実行した場合、DMA では、サポートされていない機能および部分的にサポートされている機能の一覧が作成されます。 Azure バージョンと Linux バージョンの SQL Server では、機能が制限されています。 移行の前に完全なテストを実行することが重要です。そうしないと、移行によってデータベースが破損する可能性があります。

現在オンプレミス バージョンで依存している機能が、使用できない可能性があります。 DMA では、ソース インスタンスにインストールされているコンポーネントによってターゲットに対してサポートされていない機能が強調表示されます。 たとえば、リリース時点では、マスター データ サービス (MDS)、SQL Server Analysis Services (SSAS)、および SQL Server Reporting Services (SSRS) は、Azure SQL または Linux 用 SQL Server ではサポートされていません。 これらのサービスに関する操作は、削除するか開発し直す必要があります。 Azure SQL データベースおよび Linux 用 SQL Server データベースでの SQL Server の機能のサポートは、徐々に増えていきます。

Azure SQL Database または Linux 用 SQL Server で部分的にサポートされている機能は、オンプレミスの Windows バージョンの機能ほど豊富ではありません。 DMA によって自動的に機能の不一致が検出されるため、潜在的な問題を回避することができます。

評価レポートをエクスポートする

DMA によって保存された評価プロジェクトはユーザーが削除するまで残っているので、後でこれらを表示できます。 結果を CSV ファイルまたは JSON ファイルにエクスポートして、修正の詳細な一覧を取得することができます。 エクスポートは、他のデータベース管理者や開発者と共有する場合に便利です。 完全な一覧が手に入ったら、アップグレードを計画し、それを行うためのリソースを割り当てます。

互換性の問題を明らかにするための手順

DMA を使用して互換性の問題を特定するときの 3 つの重要なフェーズは次のとおりです。

1. 互換性の評価を実行する

  1. DMA で、[評価] を選択し、プロジェクトの名前を指定します。
  2. [Source server type](ソース サーバーの種類) および [Target server type](ターゲット サーバーの種類) として [SQL Server] を選択します。
  3. ターゲット サーバーの SQL Server のバージョンを選択します。これは、互換性を評価する SQL Server のバージョンです。
  4. 評価での既定の設定は [Compatibility issues](互換性の問題) です。ターゲットが Azure SQL Database または Linux 用 SQL Server 2019 の場合は、[新機能のお勧め] オプションと [機能パリティを確認します] オプションを追加することもできます。
  5. ソース サーバー インスタンスと接続の資格情報を選択します。
  6. これで、[評価の開始] を選択できます。評価が完了すると、[Review results](結果の確認) タブに結果が表示されます。

2. 評価の結果を確認する

  1. 結果には、テスト対象のバージョンごとにタブが表示されます。 たとえば、SQL Server 2019 がターゲットの場合は、[互換性 150] タブが表示されます。
  2. 互換性タブごとに、確認する問題の一覧が示された [動作変更] の注意が表示される場合があります。
  3. また、[Impacted objects](影響を受けるオブジェクト) の一覧が強調表示された [推奨] の注意が含まれる [影響] セクションが表示されることもあります。オブジェクトの一覧をクリックすると、詳細が表示されます。

3.評価の結果をエクスポートする

  1. 評価をエクスポートするには、[レポートのエクスポート] を選択します。その後、[CSV] などのエクスポートに使用する形式を選択できます。
  2. エクスポートされたレポートを Excel などのツールで表示して、問題と推奨に関する詳細を見ることができます。

Microsoft Data Migration Assistant では、データベースをアップグレードする前に SQL Server の異なるバージョン間の互換性の問題を検出するプロセスが自動化されます。 Assistant では、一度に 1 つ以上のサーバーで 1 つ以上のデータベースがチェックされます。 ターゲット バージョンがインストールされている必要はありません。 評価レポートは保存されるので、後で結果を表示したり、資格情報の再入力やデータベースの選択の必要なしに評価を再実行したりすることができます。

DMA によって、使っているデータベースがターゲット バージョンと比較され、ベネフィットが得られる新しい機能が推奨されます。 あるバージョンから別のバージョンへの移行を急ぐと、データベースが機能することの確認を優先しがちになり、移行されたデータベースのパフォーマンスやセキュリティが強化される新機能を見落としてしまいます。

また、評価結果を Excel または JSON にエクスポートすると、アップグレードの前に修正する必要がある問題の詳細な一覧を得られます。 この一覧により、データベースをアップグレードするための明確な開発計画が提供されます。 互換性の問題とサポートされていない機能について、事前に把握できるようになります。