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.
La virtualisation de serveur peut vous aider à réduire le capital informatique et les coûts opérationnels et à améliorer l’efficacité informatique grâce à l’approvisionnement, à la maintenance, à la disponibilité et aux processus de sauvegarde/récupération améliorés. Avec les avancées technologiques récentes, les charges de travail de base de données complexes peuvent être plus facilement consolidées à l’aide de la virtualisation. Cette rubrique traite des meilleures pratiques pour l’utilisation de SQL Server In-Memory OLTP dans un environnement virtualisé.
Pré-allocation de mémoire
Pour la mémoire dans un environnement virtualisé, de meilleures performances et une prise en charge améliorée sont des considérations essentielles. Vous devez être en mesure d’allouer rapidement de la mémoire aux machines virtuelles en fonction de leurs besoins (pic et charges creuses) et de s’assurer que la mémoire n’est pas gaspille. La fonctionnalité de Hyper-V mémoire dynamique augmente l’agilité de la façon dont la mémoire est allouée et gérée entre les machines virtuelles s’exécutant sur un hôte.
Certaines bonnes pratiques pour virtualiser et gérer SQL Server doivent être modifiées lors de la virtualisation d’une base de données avec des tables mémoire optimisées. Sans tables optimisées en mémoire, deux des meilleures pratiques sont les suivantes :
Si vous utilisez MIN_SERVER_MEMORY, il est préférable d’affecter uniquement la quantité de mémoire requise pour que la mémoire soit suffisante pour d’autres processus (évitant ainsi la pagination).
Ne définissez pas la valeur de pré-allocation de mémoire trop élevée. Sinon, d’autres processus peuvent ne pas obtenir suffisamment de mémoire au moment où ils en ont besoin, ce qui peut entraîner la pagination de la mémoire.
Si vous suivez les pratiques ci-dessus pour une base de données avec des tables mémoire optimisées, une tentative de restauration et de récupération d’une base de données peut entraîner l’état « Récupération en attente », même si vous avez suffisamment de mémoire pour récupérer la base de données. La raison en est que, lors du démarrage, In-Memory OLTP apporte des données en mémoire plus agressivement que l’allocation de mémoire dynamique alloue de la mémoire à la base de données.
Résolution
Pour atténuer ce problème, pré-allouez suffisamment de mémoire à la base de données pour récupérer ou redémarrer la base de données, et non une valeur minimale reposant sur la mémoire dynamique pour fournir la mémoire supplémentaire si nécessaire.