Comment faire pour réduire le fichier d'échange de la mémoire tampon dans la version 64 bits de SQL Server 2005

Traductions disponibles Traductions disponibles
Numéro d'article: 918483 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Sommaire

INTRODUCTION

Dans certaines circonstances, la plage de travail du processus 64 bits de Microsoft SQL Server 2005 peut être envoyée dans le fichier d'échange par Microsoft Windows. Ce problème peut entraîner une baisse des performances de SQL Server 64 bits. Microsoft a détecté un problème qui peut entraîner la réduction de la plage de travail de SQL Server 2005 64 bits. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.
905865 La taille des jeux de travail de tous les processus dans une session console peut être réduite lorsque vous utilisez les services Terminal Server pour ouvrir ou fermer une session sur un ordinateur Windows Server 2003
Les ordinateurs qui exécutent Windows Server 2003 peuvent être trop agressifs lors la mise en cache de tampons si une application effectue des opérations d'E/S mises en mémoire tampon, comme une opération de copie de fichier. Ce problème peut entraîner la réduction de la plage de travail SQL Server. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.
920739 Vous pouvez constater une baisse des performances globales du système lorsque vous copiez des fichiers d'une taille supérieure à 500 Mo dans Windows Server 2003 Service Pack 1
Sur un ordinateur qui exécute SQL Server, il se peut que les applications utilisent trop le cache système. Par conséquent, le système d'exploitation va réduire la plage de travail de SQL Server ou d'autres applications. Si vous constatez que l'application utilise trop le cache système, vous pouvez utiliser certaines fonctions de gestion de la mémoire dans l'application. Ces fonctions contrôlent l'espace du cache système que les opérations d'E/S de fichier peuvent utiliser dans l'application. Par exemple, vous pouvez utiliser la fonction SetSystemFileCacheSize et la fonction GetSystemFileCacheSize pour contrôler l'espace du cache système qui peut être utilisé par les opérations d'E/S de fichier.

Remarque Pour les systèmes 64 bits, SQL Server 2005 Enterprise Edition est la seule édition conçue pour l'utilisation des verrouillage de pages en mémoire.
En outre, les pilotes de périphériques tiers qui utilisent la fonction MmAllocateContiguousMemory et indiquent la valeur du paramètre HighestAcceptableAddress à moins de 4 gigaoctets (Go) peuvent également entraîner la réduction de la plage de travail de SQL Server 2005 64 bits.

Pour empêcher que la mémoire tampon de SQL Server 2005 64 bits ne soit envoyée dans le fichier d'échange et sortie de la mémoire physique, vous pouvez activer le verrouillage de pages dans les autorisations de mémoire.

Plus d'informations

Procédure pour déterminer la page mémoire qui est utilisée par SQL Server 2005 64 bits

Vous pouvez utiliser l'Analyseur de performances pour afficher la page Mémoire qui est utilisée par SQL Server 2005 64 bits. Pour cela, vous devez contrôler le compteur de performance suivant :
Objet de performance : Mémoire
Compteur : Pages/Sec

Pour plus d'informations sur la façon d'utiliser ce compteur pour déterminer la page mémoire, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.
889654 Comment faire pour définir la taille du fichier d'échange nécessaire aux versions 64 bits de Windows Server 2003 ou Windows XP
En outre, vous pouvez mesurer l'effet d'une opération de pagination sur SQL Server 2005 64 bits par le contrôle des compteurs de performance suivants :
Objet de performance : Processus
Compteur : Octets privés
Instance: sqlservr

Objet de performance : Processus
Compteur : Plage de travail
Instance: sqlservr
Le compteur Octets privés mesure la quantité de mémoire qui est actuellement validée. Le compteur Plage de travail mesure la quantité de mémoire physique occupée actuellement par le processus. SQL Server 2005 64 bits utilise également le compteur de performance suivant pour exposer la quantité de mémoire allouée par la mémoire tampon :
Objet de performance : SQLServer : Gestionnaire de mémoire 
Compteur : Mémoire totale du serveur (Ko).

Remarque Si l'instance de SQL Server 2005 64 bits est une instance nommée, le nom de l'objet de performance est MSSQL$Nom_instance: Gestionnaire de mémoire.
Si la valeur du compteur Plage de travail est inférieure à la valeur du compteur Mémoire totale du serveur (Ko), au moins une partie de la mémoire tampon a été réduite dans la plage de travail SQL Server.

Procédure pour verrouiller les pages en mémoire pour une instance de SQL Server 64 bits

Dans SQL Server 64 bits, vous pouvez améliorer les performances en verrouillant la mémoire qui est allouée pour la mémoire tampon dans la mémoire physique. Pour activer cette fonctionnalité, dans SQL Server 64 bits, vous devez attribuer l'autorisation Verrouiller des pages en mémoire au compte de démarrage de SQL Server. lorsque vous activez cette option, vous devez redémarrer l'ordinateur. Pour cela, procédez comme suit :
  1. Cliquez sur Démarrer, sur Exécuter, tapez gpedit.msc, puis cliquez sur OK. La fenêtre Stratégie de groupe s'affiche.
  2. Dans le volet gauche, développez Configuration ordinateur, puis Paramètres Windows.
  3. Développez Paramètres de sécurité, puis Stratégies locales.
  4. Cliquez sur Attribution des droits utilisateur. Les stratégies s'affichent dans le volet droit.
  5. Dans le volet droit, double-cliquez sur la stratégie Verrouiller des pages en mémoire.
  6. Dans la boîte de dialogue Paramètre de stratégie de sécurité locale, cliquez sur Ajouter un utilisateur ou un groupe.
  7. Dans la boîte de dialogue Sélectionner Utilisateurs ou Groupes, ajoutez le compte qui dispose d'autorisations pour exécuter Sqlservr.exe, puis cliquez sur OK.
  8. Fermez la fenêtre Stratégie de groupe, puis redémarrez le service SQL Server.
Après le redémarrage du service SQL Server, toute la mémoire qui est allouée à la mémoire tampon est inéligible pour la pagination par Windows. La mémoire tampon conserve la capacité de répondre aux événements de notification de ressource mémoire et d'accroitre ou de réduire de manière dynamique en réponse à ces événements. Les affectations qui sont verrouillées en mémoire ne seront plus visibles dans les emplacements suivants :
  • compteurs Octets privés et Plage de travail dans l'Analyseur de performances ;
  • colonne Util. mémoire sous l'onglet Processus dans le Gestionnaire des tâches Windows.
Ces compteurs correspondent aux affectations qui sont effectuées à l'intérieur du processus SQL Server 2005 lorsque ces affectations ne sont pas liées à la mémoire tampon. Le compteur de performance Mémoire totale du serveur (Ko) de l'objet SQLServer : Gestionnaire de mémoire correspond précisément à la quantité totale de mémoire qui est allouée pour la mémoire tampon.

Dans SQL Server 2005 Service Pack 2 (SP2) ou dans les versions ultérieures de SQL Server 2005, si la plage de travail d'un processus SQL Server 2005 est envoyée dans le fichier d'échange par Windows, des messages semblables aux suivants sont consignés dans le fichier Errorlog SQL Server :
Message d'erreur 1
2007-01-23 16:30:10.14 spid1s Une partie significative de la mémoire du processus SQL Server a été envoyée dans le fichier d'échange. Cela risque d'entraîner une baisse des performances. Durée : 0 secondes. Plage de travail (Ko) : 1 086 400, validé (Ko) : 2 160 928, utilisation de la mémoire : 50%.
Message d'erreur 2
2007-01-23 16:35:26.52 spid1s Une partie significative de la mémoire du processus SQL Server a été envoyée dans le fichier d'échange. Cela risque d'entraîner une baisse des performances. Durée : 315 secondes. Plage de travail (Ko) : 410 156, validé (Ko) : 2 201 296, utilisation de la mémoire : 18%.
Message d'erreur 3
2007-01-23 16:40:54.12 spid1s Une partie significative de la mémoire du processus SQL Server a été envoyée dans le fichier d'échange. Cela risque d'entraîner une baisse des performances. Durée : 646 secondes. Plage de travail (Ko) : 901 904, validé (Ko) : 2 215 752, utilisation de la mémoire : 40%.
Remarque Ces messages d'erreur s'affichent à la fois dans SQL Server 2005 32 bits et dans SQL Server 2005 64 bits.

Ils sont générés lorsque la plage de travail d'un processus SQL Server 2005 atteint 50 pour cent de la mémoire qui est validée pour ce processus. Par conséquent, vous pouvez utiliser ces messages afin de déterminer le cas dans lequel les performances de SQL Server 2005 baissent de manière significative car Windows essaie de réduire la plage de travail du processus SQL Server 2005. En outre, ces messages sont consignés toutes les 5 minutes au cours des 30 premières minutes. Au bout des 30 premières minutes, la fréquence de ces messages double jusqu'à ce que la fréquence atteigne au maximum 1 jour. Dans ces messages, notez les taux (en pourcentage) de l'utilisation de la mémoire. Ces taux sont calculés à l'aide de la formule suivante :
TauxUtilisationMémoire = (PlageTravail/MémoireValidée) * 100
Vous pouvez également exécuter l'instruction suivante pour connaître le taux :
SELECT *
FROM sys.dm_os_ring_buffers
WHERE ring_buffer_type = 'RING_BUFFER_RESOURCE_MONITOR'

Propriétés

Numéro d'article: 918483 - Dernière mise à jour: mercredi 18 mai 2011 - Version: 9.0
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Enterprise
Mots-clés : 
kbsqlserverengine kbsql2005engine kbexpertiseadvanced kbinfo KB918483
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com