Gestion de la mémoire pour des bases de données volumineuses

SQL Server utilise l'API AWE (Address Windowing Extensions) afin de prendre en charge des tailles de mémoire physique importantes. SQL Server prend ainsi en charge jusqu'à 64 Go de mémoire physique pour la version 32 bits de Microsoft sous les systèmes d'exploitation Windows suivants : Microsoft Windows XP Professionnel; Windows 2000 Standard Edition ; Windows 2000 Advanced Server ; Windows 2000 Datacenter Server ; Windows Server 2003, Enterprise Edition ou Windows Server 2003, Datacenter Edition.

SQL Server alloue de façon dynamique la mémoire AWE mappée lors de son exécution sous toute édition du système d'exploitation Windows Server 2003. En d'autres termes, le pool de mémoires tampons peut gérer de façon dynamique de la mémoire mappée par AWE afin de répartir la charge de l'utilisation de la mémoire par SQL Server aux besoins en mémoire de l'ensemble du système.

AWE prend en charge une limitation inhérente aux applications 32 bits : celles-ci ne peuvent pas accéder à plus de 4 gigaoctets (Go) d'espace d'adressage pour un processus. (un pointeur 32 bits ne peut en effet pas contenir d'adresse mémoire supérieure à 4 Go).

Grâce à AWE, les applications peuvent alors réserver directement de la mémoire physique jusqu'au maximum autorisé par le système d'exploitation sous forme de mémoire non paginée. Par le biais de AWE, SQL Server peut ainsi placer plus d'informations en mémoire cache plutôt que de les lire à partir de fichiers système de pagination sur disque. Ainsi, les performances sont accrues par un accès aux données plus rapide et par la réduction de la fréquence d'accès au disque.

Notes

Les applications 64 bits ne nécessitent pas AWE car leur accès à la mémoire n'est pas limité à 4 Go.

Pour plus d'informations sur l'API AWE, rendez-vous sur le site Web de MSDN et lancez une recherche sur les termes « Address Windowing Extensions ».

Pour plus d'informations sur la façon dont SQL Server utilise l'accès mémoire non uniforme (NUMA, Non-Uniform Memory Access), consultez Présentation de l'accès NUMA (Non-uniform Memory Access).

Dans cette section