SQL Server を Azure に移行する場合、Azure 移行後にどの程度の性能が必要になるかの検討が必要となります。SQL Server では、Azure への移行後の性能を算出する方法として SKU Recommendation の機能が提供されています。
以前から Database Migration Assitant (DMA) で SKU Recommendation の機能が提供されていたのですが、先月 Public preview: SKU recommendation in Azure SQL Migration extension – Azure Data Studio というアナウンスが行われました。
Preview 機能となりますが、DMA で実行することができていた SKU Recommendation を Azure Data Studio でも実行することができるようになりました。
SKU Recommendation の機能については、DMA で初期に実装されていた機能からも変更が行われていますので、この機会にまとめておきたいと思います。
追記
投稿を書いた数日後に Generally available: Azure SQL Migration extension for Azure Data Studio で ADS の拡張機能の GA のアナウンスがありました。
Contents
DMA を使用した SKU Recommendation の実行
DMA の SKU Recommendation の機能ですが当初は、次のような機能を組み合わせて実行されていました。
- SkuRecommendationDataCollectionScript.ps1
- DmaCmd.exe
「SkuRecommendationDataCollectionScript.ps1」を実行して、SKU の推奨情報を取得するためのパフォーマンス情報を取得し、「DmaCmd.exe」で、SKU の推奨情報のレポートを作成するという流れで、当初は実装されていました。
現在の DMA では、SKU Recommendation の機能は「SqlAssessment.exe」に集約されています。このツールを使用することで、パフォーマンス情報の取得と、レポートの作成を実施することができるようになりました。
「PerfDataCollection」オプションで実行することでパフォーマンス情報の取得を行い、「GetSkURecommendation」オプションで実行することで取得したパフォーマンス情報を基にしてレポートを作成します。
cd "C:\Program Files\Microsoft Data Migration Assistant\SqlAssessmentConsole" SqlAssessment.exe PerfDataCollection --outputFolder C:\output SqlAssessment.exe GetSkuRecommendation --outputFolder "C:\output" --targetPlatform "AzureSqlDatabase" SqlAssessment.exe GetSkuRecommendation --outputFolder "C:\output" --targetPlatform "AzureSqlManagedInstance" SqlAssessment.exe GetSkuRecommendation --outputFolder "C:\output" --targetPlatform "AzureSqlVirtualMachine"
次の 3 種類の環境で実行した場合の SKU の推奨情報を確認することができます。
- Azure SQL Database
- Azure SQL Managed Instance
- SQL Server on Azure VM
実際に取得したレポートが以下になります。
以前は DTU / vCore モデルの両方の情報を出力することができたのですが、現在の DMA では、vCore モデルのみレポートを作成することができるようになっているようですね。
Azure Data Studio を使用した SKU Recommendation の実行
冒頭で紹介したアナウンスで記載されているように、DMA だけでなく、Azure Data Studio (ADS) でも SKU Recommendation の機能を使用することができるようになりました。
詳細については、次の情報で記載されています。
- Azure Data Studio 用の Azure SQL Migration 拡張機能 (プレビュー)
- オンプレミスの SQL Server データベースに適したサイズの Azure レコメンデーションを取得する
Azure Data Studio の SKU Recommendation は、Azure SQL Migration 拡張機能として実装が行われています。
Azure SQL Migration 拡張機能をインストールしている ADS では、サーバー接続後の「管理」に「Azure SQL の移行」が追加されます。
Azure SQL の移行のステップの中には、「Assesment results and recommendations」というステップがあり、このステップでは
- 指定したディレクトリに 10 分間のパフォーマンスデータを取得して、SKU の推奨情報を出力
- 既に存在しているパフォーマンスデータで SKU の推奨情報を出力
という、2 パターンで SKU Recommendation を実行することができます。
データの取得を実行した場合は、10 分間情報の取得を行い、その後、自動的に SKU の推奨情報が出力されます。
DMA と ADS で SKU Recommendation を相互に活用
DMA と ADS のどちらも SKU Recommendation の機能を持っていますが、推奨情報を算出するために使用しているパフォーマンスデータは同様のフォーマットとなっています。
DMA で取得したパフォーマンスデータを ADS で利用、またはその逆を実行することもでき、取得されているデータは相互に活用することができるようになっています。
現状、SQL Database の SKU Recomendation を取得できるのは、DMA のみとなっていますので、ADS で取得したデータを DMA で活用できるのはうれしいですね。