KB4077105 - CORRECTIF : Erreur de mémoire insuffisante lorsque l’espace d’adressage virtuel du processus de SQL Server est très faible en SQL Server

S’applique à
SQL Server 2014 Service Pack 2 - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2017 Developer on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Standard on Windows SQL Server 2016 Service Pack 1 SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use)

Symptômes

Supposons que vous installiez la version 64 bits de Microsoft SQL Server 2014, 2016 ou 2017 sur un ordinateur exécutant Windows Server 2012 ou une version antérieure du système d’exploitation Windows. Lorsque SQL Server utilise tout l’espace d’adressage virtuel en mode utilisateur, vous pouvez recevoir un message d’erreur mémoire insuffisante dans le journal des erreurs SQL Server. En outre, l’exécution des requêtes prend beaucoup de temps et l’attente SOS_MEMORY_TOPLEVELBLOCKALLOCATOR se produit.

Lorsque vous examinez les points d’informations suivants, vous constaterez que l’espace d’adressage virtuel disponible est très faible :

  • DBCC MEMORYSTATUS - Section Nombres de processus/système - Mémoire virtuelle disponible
  • DMV : sys.dm_os_process_memory - virtual_address_space_available_kb de colonne

Ces valeurs commencent autour de 8 téraoctets (To) sur un processus x64 et continuent à descendre et à atteindre quelques gigaoctets (Go).

Lorsque vous êtes au stade où l’espace d’adressage virtuel disponible est très faible, les requêtes qui tentent d’effectuer l’allocation de mémoire peuvent également rencontrer un type d’attente CMEMTHREAD.

Les points de données suivants continueront d’augmenter au fil du temps :

  • DMV : sys.dm_os_process_memory et sys.dm_os_memory_nodes - virtual_address_space_reserved_kb de colonne
  • DBCC MEMORYSTATUS - Section Gestionnaire de mémoire - Machine virtuelle réservée

Ces valeurs augmentent généralement en multiples de la valeur « mémoire maximale du serveur » jusqu’à près de 8 To.

Note Le problème associé est également décrit dans La base de connaissances 3074434.

Résolution

Cette mise à jour est incluse dans les mises à jour cumulatives suivantes pour SQL Server :

Mise à jour cumulative 4 pour SQL Server 2017

Mise à jour cumulative 8 pour SQL Server 2016 SP1

Mise à jour cumulative 10 pour SQL Server Service Pack 2 2014

À propos des mises à jour cumulatives pour SQL Server :

Chaque nouvelle mise à jour cumulative pour SQL Server contient tous les correctifs logiciels et tous les correctifs de sécurité inclus dans la mise à jour cumulative précédente. Consultez les dernières mises à jour cumulatives pour SQL Server :

Dernière mise à jour cumulative pour SQL Server 2017

Dernière mise à jour cumulative pour SQL Server 2016

Dernière mise à jour cumulative pour SQL Server 2014

Note Après avoir appliqué cette mise à jour, vous devez ajouter l’indicateur de trace 8075 en tant que paramètre de démarrage pour activer cette modification.

État

Microsoft a confirmé qu’il s’agissait d’un problème dans les produits Microsoft répertoriés dans la section « S’applique à ».

Références

En savoir plus à propos de la terminologie utilisée par Microsoft pour décrire les mises à jour logicielles.