Obtenir des recommandations Azure pour migrer votre base de données SQL Server

L’extension Azure SQL Migration pour Azure Data Studio vous aide à évaluer les exigences de votre base de données, à obtenir les recommandations de référence SKU de taille appropriée pour les ressources Azure et à migrer votre base de données SQL Server vers Azure.

Découvrez comment utiliser cette expérience unifiée, collecter des données de performances à partir de votre instance SQL Server source pour obtenir des recommandations Azure de taille appropriée pour vos cibles Azure SQL.

Vue d’ensemble

Avant de migrer vers Azure SQL, vous pouvez utiliser l’extension migration SQL dans Azure Data Studio pour vous aider à générer des recommandations de taille appropriée pour Azure SQL Database, Azure SQL Managed Instance et SQL Server sur des cibles Azure Machines Virtuelles. L’outil vous aide à collecter des données de performances à partir de votre instance SQL source (en cours d’exécution locale ou d’un autre cloud) et recommande une configuration de calcul et de stockage pour répondre aux besoins de votre charge de travail.

Le diagramme présente le flux de travail pour les recommandations Azure dans l’extension Azure SQL Migration pour Azure Data Studio :

Diagram that shows the workflow of the SKU recommendation process.

Remarque

L’évaluation et la fonctionnalité de recommandations Azure de l’extension Migration Azure SQL pour Azure Data Studio prend également en charge les instances SQL Server sources s’exécutant sur Windows ou Linux.

Prérequis

Pour commencer à utiliser les recommandations Azure pour votre migration de base de données SQL Server, vous devez respecter les conditions préalables suivantes :

Sources et cibles prises en charge

Les recommandations Azure peuvent être générées pour les versions de SQL Server suivantes :

  • SQL Server 2008 et versions ultérieures sur Windows ou Linux sont prises en charge.
  • SQL Server exécuté sur d’autres clouds peut être pris en charge, mais la précision des résultats peut varier

Les recommandations Azure peuvent être générées pour les cibles Azure SQL suivantes :

  • Azure SQL Database
    • Familles de matériel : série Standard (Gen5)
    • Niveaux de service : Usage général, Critique pour l’entreprise, Hyperscale
  • Azure SQL Managed Instance
    • Familles de matériel : série Standard (Gen5), série Premium, série Premium optimisée en mémoire optimisée
    • Niveaux de service : Usage général, Critique pour l’entreprise
  • SQL Server sur une machine virtuelle Azure
    • Familles de machines virtuelles : usage général, mémoire optimisée
    • familles Stockage : SSD Premium

Collecte des données de performances

Avant de pouvoir générer des recommandations, les données de performances doivent être collectées à partir de votre instance SQL Server source. Au cours de cette étape de collecte de données, plusieurs vues système dynamiques (DMV) de votre instance SQL Server sont interrogées pour capturer les caractéristiques de performances de votre charge de travail. L’outil capture les métriques, notamment l’utilisation du processeur, de la mémoire, du stockage et des E/S toutes les 30 secondes, et enregistre les compteurs de performances localement sur votre ordinateur sous la forme d’un ensemble de fichiers CSV.

Niveau de l’instance

Ces données de performances sont collectées une fois par instance SQL Server :

Dimension de performances Description Vue gestion dynamique (DMV)
SqlInstanceCpuPercent Quantité d’UC utilisée par le processus SQL Server, sous la forme d’un pourcentage sys.dm_os_ring_buffers
PhysicalMemoryInUse Empreinte mémoire globale du processus SQL Server sys.dm_os_process_memory
MemoryUtilizationPercentage Utilisation de la mémoire de SQL Server sys.dm_os_process_memory

Au niveau de la base de données

Dimension de performances Description Vue gestion dynamique (DMV)
DatabaseCpuPercent Pourcentage total d’UC utilisé par une base de données sys.dm_exec_query_stats
CachedSizeInMb Taille totale en mégaoctets du cache utilisé par une base de données sys.dm_os_buffer_descriptors

Niveau du fichier

Dimension de performances Description Vue gestion dynamique (DMV)
ReadIOInMb Nombre total de mégaoctets lus à partir de ce fichier sys.dm_io_virtual_file_stats
WriteIOInMb Nombre total de mégaoctets écrits dans ce fichier sys.dm_io_virtual_file_stats
NumOfReads Nombre total de lectures émises sur ce fichier sys.dm_io_virtual_file_stats
NumOfWrites Nombre total d’écritures émises sur ce fichier sys.dm_io_virtual_file_stats
ReadLatency Latence de lecture d’E/S sur ce fichier sys.dm_io_virtual_file_stats
WriteLatency Latence d’écriture d’E/S sur ce fichier sys.dm_io_virtual_file_stats

Un minimum de 10 minutes de collecte de données est nécessaire avant qu’une recommandation puisse être générée, mais pour évaluer avec précision votre charge de travail, il est recommandé d’exécuter la collecte de données pendant une durée suffisamment longue pour capturer à la fois l’utilisation maximale et hors pic.

Pour lancer le processus de collecte de données, commencez par vous connecter à votre instance SQL source dans Azure Data Studio, puis lancez l’Assistant Migration SQL. À l’étape 2, sélectionnez « Obtenir une recommandation Azure ». Sélectionnez « Collecter les données de performances maintenant », puis sélectionnez un dossier sur votre ordinateur où les données collectées seront enregistrées.

Screenshot that shows the wizard pane to collect performance data for SKU recommendations.

Important

Le processus de collecte de données s’exécute pendant 10 minutes pour générer la première recommandation. Important : démarrez le processus de collecte des données quand la charge de travail de votre base de données active reflète une utilisation proche de vos scénarios de production.

Une fois la première recommandation générée, vous pouvez continuer à exécuter le processus de collecte des données pour affiner les recommandations. Cette option est particulièrement utile si vos modèles d’utilisation varient au fil du temps.

Le processus de collecte de données commence une fois que vous avez sélectionné Démarrer. Toutes les 10 minutes, les points de données collectés sont agrégés et la valeur maximale, moyenne et variance de chaque compteur sont écrites sur disque dans un ensemble de trois fichiers CSV.

Vous voyez généralement un ensemble de fichiers CSV avec les suffixes suivants dans le dossier sélectionné :

  • SQLServerInstance_CommonDbLevel_Counters.csv : contient des données de configuration statique sur la disposition et les métadonnées des fichiers de base de données.
  • SQLServerInstance_CommonInstanceLevel_Counters.csv : contient des données statiques sur la configuration matérielle de l’instance de serveur.
  • SQLServerInstance_PerformanceAggregated_Counters.csv : contient des données de performances agrégées qui sont fréquemment mises à jour.

Pendant ce temps, laissez Azure Data Studio ouvert, bien que vous puissiez continuer avec d’autres opérations. À tout moment, vous pouvez arrêter le processus de collecte de données en retournant à cette page et en sélectionnant Arrêter la collecte de données.

Génération de recommandations de taille appropriée

Si vous avez déjà collecté des données de performances à partir d’une session précédente ou à l’aide d’un autre outil (tel que la base de données Assistant Migration), vous pouvez importer toutes les données de performances existantes en sélectionnant l’option que j’ai déjà les données de performances. Passez à sélectionner le dossier dans lequel vos données de performances (trois fichiers .csv) sont enregistrées et sélectionnez Démarrer pour lancer le processus de recommandation.

Screenshot that shows the pane to import performance data for a SKU recommendation.

Remarque

L’étape 1 de l’Assistant Migration SQL vous demande de sélectionner un ensemble de bases de données à évaluer, et il s’agit des seules bases de données qui seront prises en compte pendant le processus de recommandation.

Toutefois, le processus de collecte de données de performances collecte des compteurs de performances pour toutes les bases de données à partir de l’instance SQL Server source, pas seulement ceux qui ont été sélectionnés.

Cela signifie que les données de performances précédemment collectées peuvent être utilisées pour régénérer à plusieurs reprises des recommandations pour un sous-ensemble différent de bases de données en spécifiant une liste différente à l’étape 1.

Paramètres de recommandation

Plusieurs paramètres configurables peuvent affecter vos recommandations.

Screenshot that shows the recommendation parameters section.

Sélectionnez l’option Modifier les paramètres pour ajuster ces paramètres en fonction de vos besoins.

Screenshot that shows the different recommendation parameters.

  • Facteur d’échelle :
    Cette option vous permet de fournir une mémoire tampon à appliquer à chaque dimension de performances. Cette option tient compte des problèmes tels que l’utilisation saisonnière, l’historique des performances court et l’augmentation probable de l’utilisation future. Par exemple, si vous déterminez qu’une exigence de quatre vCores de processeur a un facteur d’échelle de 150 %, la véritable exigence de processeur est de six vCores.

    Le volume du facteur d’échelle par défaut est de 100 %.

  • Pourcentage d’utilisation :
    Centile des points de données à utiliser en tant que données de performances agrégées.

    La valeur par défaut est le 95e centile.

  • Activer les fonctionnalités en préversion :
    Cette option permet de recommander des configurations qui peuvent ne pas être généralement disponibles pour tous les utilisateurs de toutes les régions.

    Cette option est désactivée par défaut.

  • Activer la recommandation élastique :

    Cette option utilise un autre modèle de recommandation qui utilise le profilage personnalisé des performances des prix par rapport aux clients sur le cloud existants.

    Cette option est désactivée par défaut.

Important

Le processus de collecte de données se termine si vous fermez Azure Data Studio. Les données collectées jusqu’à ce point sont enregistrées dans votre dossier.

Si vous fermez Azure Data Studio alors que la collecte de données est en cours, utilisez l’une des options suivantes pour redémarrer la collecte de données :

  • Rouvrez Azure Data Studio et importez les fichiers de données qui ont été enregistrés dans votre dossier local. Ensuite, générez une recommandation à partir des données collectées.
  • Rouvrez Azure Data Studio et recommencez la collecte de données en utilisant l’Assistant de migration.

Autorisations minimales

Pour interroger les vues système nécessaires pour la collecte de données de performances, des autorisations spécifiques sont requises pour la connexion SQL Server utilisée pour cette tâche. Vous pouvez créer un utilisateur privilégié minimal pour la collecte des données d’évaluation et de performances à l’aide du script suivant :

-- Create a login to run the assessment
USE master;
GO

CREATE LOGIN [assessment] WITH PASSWORD = '<STRONG PASSWORD>';

-- Create user in every database other than TempDB and model and provide minimal read-only permissions
EXECUTE sp_MSforeachdb '
   USE [?];
   IF (''?'' NOT IN (''TempDB'',''model''))  
   BEGIN TRY
      CREATE USER [assessment] FOR LOGIN [assessment]
   END TRY
   BEGIN CATCH
      PRINT ERROR_MESSAGE()
   END CATCH'
   
EXECUTE sp_MSforeachdb '
   USE [?];
   IF (''?'' NOT IN (''tempdb'',''model''))  
   BEGIN TRY
      GRANT SELECT ON sys.sql_expression_dependencies TO [assessment]
   END TRY
   BEGIN CATCH
      PRINT ERROR_MESSAGE()
   END CATCH'
   
EXECUTE sp_MSforeachdb '
   USE [?];
   IF (''?'' NOT IN (''tempdb'',''model''))  
   BEGIN TRY
      GRANT VIEW DATABASE STATE TO [assessment]
   END TRY
   BEGIN CATCH
      PRINT ERROR_MESSAGE()
   END CATCH'

-- Provide server level read-only permissions
GRANT SELECT ON sys.sql_expression_dependencies TO [assessment];
GRANT SELECT ON sys.sql_expression_dependencies TO [assessment];
GRANT EXECUTE ON OBJECT::sys.xp_regenumkeys TO [assessment];
GRANT VIEW DATABASE STATE TO assessment;
GRANT VIEW SERVER STATE TO assessment;
GRANT VIEW ANY DEFINITION TO assessment;

-- Provide msdb specific permissions
USE msdb;
GO

GRANT EXECUTE ON [msdb].[dbo].[agent_datetime] TO [assessment];
GRANT SELECT ON [msdb].[dbo].[sysjobsteps] TO [assessment];
GRANT SELECT ON [msdb].[dbo].[syssubsystems] TO [assessment];
GRANT SELECT ON [msdb].[dbo].[sysjobhistory] TO [assessment];
GRANT SELECT ON [msdb].[dbo].[syscategories] TO [assessment];
GRANT SELECT ON [msdb].[dbo].[sysjobs] TO [assessment];
GRANT SELECT ON [msdb].[dbo].[sysmaintplan_plans] TO [assessment];
GRANT SELECT ON [msdb].[dbo].[syscollector_collection_sets] TO [assessment];
GRANT SELECT ON [msdb].[dbo].[sysmail_profile] TO [assessment];
GRANT SELECT ON [msdb].[dbo].[sysmail_profileaccount] TO [assessment];
GRANT SELECT ON [msdb].[dbo].[sysmail_account] TO [assessment];

-- USE master;
-- GO
-- EXECUTE sp_MSforeachdb 'USE [?]; BEGIN TRY DROP USER [assessment] END TRY BEGIN CATCH SELECT ERROR_MESSAGE() END CATCH';
-- DROP LOGIN [assessment];

Scénarios et limitations non pris en charge

  • Azure Recommandations n’incluez pas d’estimations de prix, car cette situation peut varier en fonction de la région, de la devise et des remises telles que Azure Hybrid Benefit. Pour obtenir des estimations de prix, utilisez la calculatrice de prix Azure ou créez une évaluation SQL dans Azure Migrate.
  • Recommandations pour Azure SQL Database avec Le modèle d’achat DTU n’est pas pris en charge.
  • Actuellement, les recommandations Azure pour le niveau de calcul serverless Azure SQL Database et les pools élastiques ne sont pas prises en charge.

Résolution des problèmes

  • Aucune recommandation générée
    • Si aucune recommandation n’a été générée, cette situation peut signifier qu’aucune configuration n’a été identifiée, ce qui peut répondre pleinement aux exigences de performances de votre instance source. Pour connaître les raisons pour lesquelles une taille particulière, un niveau de service ou une famille de matériels a été disqualifiée :
      • Accéder aux journaux d’activité à partir d’Azure Data Studio en accédant au > dossier Afficher toutes les commandes ouvrir les > journaux d’activité d’extension
      • Accédez à Microsoft.mssql > SqlAssessmentLogs > open SkuRecommendationEvent.log
      • Le journal contient une trace de chaque configuration potentielle qui a été évaluée et la raison pour laquelle elle n’était pas considérée comme étant une configuration éligible : Screenshot that shows SKU recommendations log.
    • Essayez de régénérer la recommandation avec la recommandation élastique activée. Cette option utilise un autre modèle de recommandation, qui utilise le profilage personnalisé des performances des prix par rapport aux clients cloud existants.

Étapes suivantes