Option awe enabled

Cette fonctionnalité sera supprimée dans la prochaine version de Microsoft SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et modifiez dès que possible les applications qui utilisent actuellement cette fonctionnalité.

Dans SQL Server, vous pouvez utiliser l'API Address Windowing Extensions (AWE) pour permettre l'accès à la mémoire physique excédant les limites définies sur la mémoire virtuelle configurée. La quantité spécifique de mémoire que vous pouvez utiliser dépend de la configuration du matériel et de la prise en charge du système d'exploitation. La quantité de mémoire physique prise en charge a augmenté avec l'introduction des systèmes d'exploitation Microsoft Windows Server 2003. La mémoire physique accessible par AWE dépend donc du système d'exploitation utilisé.

  • Windows Server 2003 Standard Edition prend en charge jusqu'à 4 gigaoctets (Go) de mémoire physique.

  • Windows Server 2003 Enterprise Edition prend en charge jusqu'à 32 gigaoctets (Go) de mémoire physique.

  • Windows Server 2003 Datacenter Edition prend en charge jusqu'à 64 gigaoctets (Go) de mémoire physique.

Notes

La mémoire AWE est inutile et ne peut pas être configurée sur les systèmes d'exploitation 64 bits.

Considérations sur l'utilisation

Avant d'activer la mémoire AWE, tenez compte des consignes suivantes spécifiques aux systèmes d'exploitation :

Windows 2000

  • Si la mémoire physique disponible est inférieure à la limite configurée définie sur l'espace d'adressage de mémoire virtuelle, la mémoire AWE mappée ne peut pas être activée. Dans ce cas, la mémoire est allouée de manière dynamique et SQL Server est exécuté en mode non AWE, quelle que soit la définition de l'option awe enabled.

  • Si la mémoire physique disponible est supérieure à la mémoire virtuelle accessible, la mémoire AWE mappée peut être activée. Dans ce cas, les deux conditions suivantes s'appliquent :

    • Si la mémoire physique disponible est supérieure à la valeur de l'option max server memory, l'instance SQL Server verrouille la quantité de mémoire spécifiée dans max server memory.

    • Si la mémoire physique disponible est inférieure à la valeur de l'option max server memory ou si l'option max server memory n'est pas définie, l'instance SQL Server verrouille toute la mémoire disponible, à l'exception de 128 Mo.

  • La mémoire AWE mappée n'est pas libérée tant que SQL Server n'est pas arrêté. Microsoft recommande vivement de définir une valeur pour l'option max server memory à chaque activation de AWE, qui tient compte de la mémoire requise par les autres applications exécutées sur le serveur.

Windows Server 2003

  • SQL Server gère l'allocation dynamique de la mémoire AWE mappée sur Windows Server 2003. AWE renforce les fonctionnalités des applications exécutées sur les systèmes d'exploitation 32 bits en permettant l'accès à la mémoire physique disponible au-delà des limites définies sur leur espace d'adressage de mémoire virtuelle configurée.

  • Au démarrage, SQL Server réserve uniquement une petite portion de mémoire AWE mappée. Lorsqu'une quantité supérieure de mémoire AWE est nécessaire, le système d'exploitation l'alloue de manière dynamique à SQL Server. De même, si les ressources requises sont moindres, SQL Server peut réattribuer au système d'exploitation la mémoire AWE mappée, qui sera alors utilisée par d'autres processus ou d'autres applications. Cet équilibre entre SQL Server et le système d'exploitation est soumis aux contraintes des paramètres min server memory et max server memory.

  • Lors de l'exécution de SQL Server avec Windows Server 2003, SQL Server réagit aux modifications apportées aux options de configuration max server memory et min server memory sans imposer un redémarrage de l'instance SQL Server. Pour plus d'informations sur les options min server memory et max server memory, consultez Options de mémoire du serveur.

  • Sous Windows Server 2003, la mémoire AWE mappée dynamique est prise en charge sur les serveurs possédant moins de mémoire physique que la limite configurée sur l'espace d'adressage de mémoire virtuelle. L'utilisation de AWE dans ces conditions n'a pas d'effet sur les performances, mais lorsque de la mémoire physique est ajoutée en plus de la limite d'adressage de mémoire virtuelle, elle peut être utilisée sans redémarrer le serveur.

Pour Windows 2000 et Windows Server 2003, la mémoire AWE ne peut pas être utilisée par les fichiers d'échange. Par conséquent, vous devez déterminer la quantité de mémoire que vous pouvez allouer en toute sécurité aux instances de SQL Server en identifiant la quantité de mémoire disponible après le démarrage de toutes les autres applications devant être utilisées sur l'ordinateur.

Utilisez le compteur SQL ServerMémoire totale du serveur (Ko) du Moniteur système pour déterminer la quantité de mémoire allouée par l'instance de SQL Server exécutée en mode AWE. Configurez l'option max server memory afin de laisser de la mémoire supplémentaire disponible pour les besoins des autres applications, de Windows 2000 et de Windows Server 2003. Pour plus d'informations, consultez Surveillance de l'utilisation de la mémoire.

Important

À l'aide de l'option awe enabled et de max server memory, vous pouvez influer sur les performances des autres applications ou de SQL Server exécutés dans un environnement à plusieurs instances ou organisé en clusters. Pour plus d'informations sur l'utilisation de la mémoire AWE mappée, consultez Gestion de la mémoire pour des bases de données volumineuses.

Activation de AWE

Pour activer AWE, affectez à awe enabled la valeur 1. Pour Windows 2000, si aucune valeur n'a été spécifiée pour max server memory, SQL Server réserve presque toute la mémoire disponible au démarrage, en laissant 128 mégaoctets (Mo), ou moins, de mémoire physique pour les autres applications. (Lorsque AWE n'est pas activé, la quantité de mémoire physique laissée pour les autres applications peut être contrôlée par l'option max server memory.) Pour Windows Server 2003, la gestion de la mémoire AWE mappée est dynamique : seule une petite partie de la mémoire physique disponible totale est allouée au démarrage.

Si l'option a été activée avec succès, le message « Address Windowing Extension activé » est imprimé dans le journal des erreurs de SQL Server lors du démarrage de l'instance de SQL Server.

Notes

L'autorisation LOCK PAGE IN MEMORY doit être accordée au compte SQL Server avant l'activation de AWE. Pour plus d'informations, consultez Procédure : activer l'option Lock Pages in Memory (Windows).

L'option awe enabled est une option avancée. Si vous utilisez la procédure stockée système sp_configure pour changer sa valeur, vous ne pouvez modifier l'option awe enabled que si la valeur 1 a été attribuée à l'option show advanced options. Vous devez redémarrer l'instance de SQL Server pour que le changement prenne effet.

Exemple

L'exemple suivant illustre comment activer AWE et comment configurer l'option min server memory à 1 Go et l'option max server memory à 6 Go :

D'abord, activez AWE :

sp_configure 'show advanced options', 1
RECONFIGURE
GO
sp_configure 'awe enabled', 1
RECONFIGURE
GO

Après le redémarrage de SQL Server, le message suivant doit apparaître dans le journal des erreurs de SQL Server : Address Windowing Extensions enabled.

Ensuite, configurez la mémoire :

sp_configure 'min server memory', 1024
RECONFIGURE
GO
sp_configure 'max server memory', 6144
RECONFIGURE
GO

Dans l'exemple précédent pour SQL Server et Windows Server 2003, les paramètres de mémoire sont définis pour que le pool de mémoires tampons gère dynamiquement la mémoire mappée AWE entre 1 et 6 Go. (Cet exemple dynamique de AWE ne s'applique pas à SQL Server 2000.) Si d'autres applications demandent de la mémoire supplémentaire, SQL Server peut libérer la mémoire AWE allouée si elle n'est pas nécessaire. Dans l'exemple, la mémoire AWE mappée peut être libérée uniquement à hauteur de 1 Go, limite de min server memory.

Notez que l'affectation de la valeur 1 Go à l'option min server memory n'impose pas automatiquement à SQL Server d'acquérir 1 Go de mémoire. La mémoire sera allouée sur demande, en fonction de la charge actuelle du serveur de base de données.

Désactivation de AWE

Pour désactiver AWE, affectez la valeur 0 à l'option awe enabled et exécutez l'instruction RECONFIGURE. La mémoire AWE est désactivée par défaut. Le journal des erreurs de SQL Server enregistre la modification apportée à l'option awe enabled. Après le redémarrage, SQL Server fonctionne en mode normal d'allocation dynamique de la mémoire et la mémoire disponible est limitée à l'espace d'adressage virtuel ou à la mémoire physique, la quantité la plus faible étant prise en compte.