Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à :SQL Server
base de données Azure SQL
Azure SQL Managed Instance
Le rapport Analyse des performances des transactions dans SQL Server Management Studio vous aide à évaluer si In-Memory OLTP peut améliorer les performances de votre application de base de données. Il vous indique également le volume de travail nécessaire pour activer l'OLTP en mémoire dans votre application. Après avoir identifié une table sur disque à migrer vers In-Memory OLTP, utilisez l’Assistant d’optimisation de la mémoire pour vous aider à migrer cette table. De même, l’Conseiller de compilation native vous aide à porter une procédure stockée vers une procédure stockée compilée en mode natif. Pour plus d’informations sur les méthodologies de migration, consultez OLTP en mémoire - Modèles de charge de travail courants et considérations relatives à la migration.
Le rapport Analyse des performances des transactions s’exécute directement sur la base de données de production, ou une base de données de test avec une charge de travail active similaire à la charge de travail de production.
Le rapport et les conseillers migration vous aident à effectuer les tâches suivantes :
Analyser votre charge de travail pour déterminer les points sensibles où l’OLTP en mémoire peut potentiellement améliorer les performances. Le rapport Analyse des performances des transactions recommande des tables et des procédures stockées qui bénéficient le plus de la conversion en In-Memory OLTP.
Aide pour la planification et l'exécution de votre migration vers l'OLTP en mémoire. Le chemin de migration d'une table sur disque vers une table mémoire optimisée peut prendre beaucoup de temps. Le Conseiller d'optimisation de la mémoire vous aide à identifier les incompatibilités dans votre table que vous devez supprimer avant de déplacer la table vers l'OLTP en mémoire. Le Memory-Optimization Advisor vous aide également à comprendre l’effet que la migration d’une table vers une table optimisée en mémoire peut avoir sur votre application.
Vous pouvez voir si votre application tire parti de In-Memory OLTP, lorsque vous souhaitez planifier votre migration vers In-Memory OLTP, et chaque fois que vous travaillez pour migrer certaines de vos tables et procédures stockées vers In-Memory OLTP.
Important
Les performances d’un système de base de données dépendent de plusieurs facteurs, et non de tous ceux que le collecteur de performances des transactions peut observer et mesurer. Par conséquent, le rapport d’analyse des performances des transactions ne garantit pas que les gains de performances réels correspondent à ses prédictions, si des prédictions sont effectuées.
Le rapport Analyse des performances des transactions et les conseillers de migration sont installés dans le cadre de SQL Server Management Studio (SSMS) lorsque vous sélectionnez Outils de gestion de base ou Outils de gestion avancés lorsque vous installez SQL Server, ou lorsque vous installez SQL Server Management Studio.
Rapports d’analyse des performances des transactions
Vous pouvez générer des rapports d’analyse des performances de transaction dans l’ Explorateur d’objets en cliquant avec le bouton droit sur la base de données, en sélectionnant Rapports, Rapports standard, puis Présentation de l’analyse des performances des transactions. La base de données doit avoir une charge de travail active ou une exécution récente d’une charge de travail pour pouvoir générer un rapport d'analyse explicite.
Tables
Le rapport détaillé d'une table comprend trois sections :
Section Statistiques de Scan
Cette section inclut un tableau unique qui affiche les statistiques collectées des analyses réalisées sur la table de la base de données. Les colonnes sont les suivantes :
Pourcentage des accès totaux. Pourcentage des analyses et des recherches sur cette table, par rapport à l'activité de la base de données totale. Plus ce pourcentage est élevé, plus la table est sollicitée par rapport aux autres tables de la base de données.
Statistiques de recherche/Statistiques d’analyse de plage. Cette colonne indique le nombre de recherches de point et d'analyses de plage (analyses d'index et de table) effectuées sur la table pendant le profilage. La moyenne par transaction est une estimation.
Section des statistiques de contention
Cette section comprend un tableau indiquant la contention sur la table de base de données. Pour plus d’informations sur les verrous et loquets de base de données, consultez le guide de verrouillage des transactions et de contrôle de version des lignes. Les colonnes sont les suivantes :
Pourcentage du total des attentes. Pourcentage des attentes attribuables à un verrou interne et un verrou sur cette table de base de données par rapport à l'activité de la base de données. Plus ce pourcentage est élevé, plus la table est sollicitée par rapport aux autres tables de la base de données.
Statistiques de verrou. Ces colonnes enregistrent le nombre d’attentes de verrouillage pour les requêtes impliquant cette table. Pour plus d’informations sur les verrous, consultez comment SQL Server utilise des verrous, plus ce nombre est élevé, plus la contention de verrou sur la table est élevée.
Verrouiller les statistiques. Ce groupe de colonnes indique le nombre d'acquisitions et d'attentes attribuables à des verrous de page pour les requêtes de cette table. Pour plus d’informations sur les verrous, consultez granularité des verrous et hiérarchies. Plus le nombre d'attentes est élevé, plus il y a de contention de verrous sur la table.
Section Difficultés de migration
Cette section comprend un tableau des difficultés rencontrées pour convertir cette table de base de données en une table mémoire optimisée. Une cote de difficulté plus élevée indique plus de difficulté à convertir la table. Pour afficher des détails pour convertir cette table de base de données, utilisez l’Assistant Optimisation de la mémoire.
Le processus collecte et regroupe les statistiques de balayage et de contention à partir de sys.dm_db_index_operational_stats sur le rapport des détails de la table.
Procédures stockées
Envisagez de migrer des procédures stockées qui ont un ratio élevé de temps processeur à temps écoulé. Le rapport affiche toutes les références de table, car les procédures stockées compilées en mode natif peuvent uniquement référencer des tables optimisées en mémoire, ce qui peut être ajouté au coût de migration.
Le rapport détaillé d'une procédure stockée comprend deux sections :
Section Statistiques d’exécution
Cette section inclut une table qui affiche les statistiques collectées sur les exécutions de la procédure stockée. Les colonnes sont les suivantes :
Heure mise en cache. Heure à laquelle ce plan d'exécution est mis en cache. Si la procédure stockée est supprimée du cache du plan et y entre à nouveau, vous verrez les durées pour chaque cache.
Temps processeur total. Temps processeur total consommé par la procédure stockée pendant le profilage. Plus ce nombre est élevé, plus la procédure stockée utilise de temps de processeur.
Durée totale d’exécution. Durée d'exécution totale de la procédure stockée pendant le profilage. Plus la différence entre ce nombre et le temps CPU est élevée, moins efficacement la procédure stockée utilise le CPU.
Total des erreurs de cache. Nombre d’absences de cache (lectures à partir du stockage physique) provoquées par les exécutions de la procédure stockée lors du profilage.
Nombre d’exécutions. Nombre de fois que la procédure stockée est exécutée pendant le profilage.
Section Références de table
Cette section comprend un tableau répertoriant les tables auxquelles cette procédure stockée se réfère. Avant de convertir la procédure stockée en procédure stockée compilée en mode natif, convertissez toutes ces tables en tables optimisées en mémoire. Ces tables doivent rester sur le même serveur et la même base de données.
Les statistiques d’exécution sur le rapport de détails de procédure stockée sont collectées et agrégées à partir de sys.dm_exec_procedure_stats (Transact-SQL). Les références proviennent sys.sql_expression_dependencies (Transact-SQL).
Pour plus d’informations sur la conversion d’une procédure stockée en procédure stockée compilée en mode natif, utilisez l’Conseiller de compilation native.
Générer des listes de contrôle de migration OLTP en mémoire
Les listes de contrôle de migration identifient les fonctionnalités de table ou de procédure stockée qui ne sont pas prises en charge avec des tables optimisées en mémoire ou des procédures stockées compilées en mode natif. L'optimisation de la mémoire et les conseillers de compilation native peuvent générer une liste de contrôle pour une unique table sur disque ou une procédure stockée T-SQL interprétée. Vous pouvez également générer des listes de contrôle de migration pour plusieurs tables et procédures stockées dans une base de données.
Dans SQL Server Management Studio, utilisez la commande Generate In-Memory OLTP Migration Checklists ou PowerShell pour générer une liste de contrôle de migration.
Générer une liste de contrôle de migration à l’aide de la commande d’interface utilisateur
Dans l’Explorateur d’objets, cliquez avec le bouton droit sur une base de données autre que la base de données système, sélectionnez Tâches, puis sélectionnez Générer In-Memory listes de contrôle de migration OLTP.
Dans la boîte de dialogue Générer In-Memory listes de contrôle de migration OLTP , sélectionnez Suivant pour accéder à la page Configurer les options de génération de liste de contrôle . Dans cette page, procédez comme suit :
Entrez un chemin d'accès au dossier dans la zone Enregistrer la liste de contrôle sous .
Vérifiez que l’option Générer des listes de contrôle pour des tables et des procédures stockées spécifiques est sélectionnée.
Développez les nœuds Table et Procédure stockée .
Sélectionnez quelques objets dans la zone de sélection.
Sélectionnez Suivant et vérifiez que la liste des tâches correspond à vos paramètres dans la page Configurer les options de génération de liste de contrôle .
Sélectionnez Terminer, puis vérifiez que les rapports de liste de contrôle de migration ont été générés uniquement pour les objets que vous avez sélectionnés.
Vous pouvez vérifier l'exactitude des rapports en les comparant aux rapports générés par l'outil Conseiller d'optimisation de la mémoire et l'outil Conseiller de compilation native. Pour plus d'informations, consultez Memory Optimization Advisor et Native Compilation Advisor.
Générer une liste de contrôle de migration à l’aide de SQL Server PowerShell
Dans l’Explorateur d’objets, sélectionnez une base de données, puis démarrez PowerShell. Vérifiez que les l’invite suivante apparaît.
PS SQLSERVER: \SQL\{Instance Name}\DEFAULT\Databases\{two-part DB Name}>Entrez la commande suivante.
Save-SqlMigrationReport -FolderPath "<folder_path>"Vérifiez les résultats suivants :
La commande crée le chemin du dossier s’il n’existe pas déjà.
La commande génère le rapport de liste de contrôle de migration pour toutes les tables et procédures stockées dans la base de données. Le rapport se trouve à l’emplacement spécifié par
folder_path.
Générer une liste de contrôle de migration à l’aide de Windows PowerShell
Démarrez une session Windows PowerShell avec élévation de privilèges.
Entrez les commandes suivantes. L'objet peut être une table ou une procédure stockée.
[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.SMO')Save-SqlMigrationReport -Server "<instance_name>" -Database "<db_name>" -FolderPath "<folder_path1>"Save-SqlMigrationReport -Server "<instance_name>" -Database "<db_name>" -Object <object_name> -FolderPath "<folder_path2>"Vérifiez les résultats suivants :
La commande génère un rapport de liste de contrôle de migration pour toutes les tables et procédures stockées dans la base de données. Le rapport se trouve à l’emplacement spécifié par
folder_path.Le rapport de liste de contrôle de migration pour
<object_name>est le seul rapport à l’emplacement spécifié parfolder_path2.