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 :
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 :
- Téléchargez et installez Azure Data Studio.
- Installez l’extension de migration Azure SQL à partir de la place de marché Azure Data Studio.
- Vérifiez que la connexion que vous utilisez pour connecter l’instance SQL Server source dispose des autorisations minimales.
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.
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.
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.
Sélectionnez l’option Modifier les paramètres pour ajuster ces paramètres en fonction de vos besoins.
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 :
- 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.
- 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 :
Étapes suivantes
Commentaires
https://aka.ms/ContentUserFeedback.
Prochainement : Tout au long de l'année 2024, nous supprimerons progressivement les GitHub Issues en tant que mécanisme de retour d'information pour le contenu et nous les remplacerons par un nouveau système de retour d'information. Pour plus d’informations, voir:Soumettre et afficher des commentaires pour