Comment faire pour déterminer les paramètres de configuration corrects de SQL Server

Traductions disponibles Traductions disponibles
Numéro d'article: 319942 - Voir les produits auxquels s'applique cet article
Cet article peut contenir des liens vers des informations en langue anglaise (pas encore traduites).
Agrandir tout | Réduire tout

Sommaire

Résumé

Cet article décrit les paramètres de configuration suivants et contient des remarques sur leur utilisation :
  • Masque d'affinité
  • Mise en pool légère
  • Max Async IO
  • Maximum de threads de travail
  • Mémoire
  • Augmentation de priorité
  • Définir la taille de l'ensemble de travail
SQL Server peut obtenir un niveau très élevé de performances avec relativement peu de réglages. Vous pouvez obtenir des niveaux très élevés de performances en utilisant une conception de base de données et d'application correcte, sans réglages lourds. Consultez la section "Références" de cet article pour plus d'informations sur la résolution des problèmes de performances de SQL Server.

Lorsque vous essayez de résoudre un problème de performances, le degré d'amélioration qui est disponible par le réglage est généralement modeste à moins que votre système ne soit pas correctement configuré. Dans SQL Server version 7.0 et ultérieures, SQL Server utilise le réglage automatique et il est extrêmement rare que les paramètres de configuration (notamment les paramètres avancés) requièrent des modifications. Généralement, il est conseillé de ne pas apporter de modifications de configuration à SQL Server sans raison ni sans avoir méthodiquement effectué un test pour vérifier la nécessité des modifications de configuration. Vous devez établir une référence avant d'apporter des modifications à la configuration pour pouvoir mesurer l'efficacité de celles-ci par la suite.

Si SQL Server n'est pas correctement configuré, certains paramètres peuvent déstabiliser le serveur ou peuvent provoquer un comportement erratique de SQL Server. Des années d'expérience avec de nombreux environnements différents indiquent que des paramètres de configuration qui ne sont pas ceux par défaut peuvent provoquer des résultats neutres à hautement négatifs.

Si vous apportez une modification à la configuration, vous devez effectuer un test de performances méthodique rigoureux avant et après la modification pour évaluer le degré d'amélioration.

Selon les scénarios de support actuels, SQL Server version 7.0 ou ultérieures peut atteindre un niveau extrêmement élevé de performances sans aucun réglage manuel.

Dans SQL Server 7.0 et version ultérieure, n'apportez aucune modification de configuration aux connexions utilisateur, verrous et objets ouverts, car par défaut, SQL Server règle ces paramètres de façon dynamique.

Masque d'affinité

Le paramètre masque d'affinité se rapporte à la fermeté de la liaison d'un thread à une unité centrale particulière. Par défaut, Microsoft Windows NT et Microsoft Windows 2000 utilisent une affinité "douce", qui essaie de replanifier un thread sur l'unité centrale sur laquelle il a été exécuté en dernier. Cependant, si cela s'avère impossible, un thread peut s'exécuter sur une unité centrale différente.

Dans la pratique actuelle, si vous modifiez le paramètre masque d'affinité par rapport à celui par défaut, les performances sont rarement améliorées, plutôt dégradées.

Le masque d'affinité restreint SQL Server à un sous-réseau d'unités centrales disponibles et permet à d'autres services concurrents de mieux accéder à l'unité centrale. Dans la plupart des cas, vous n'avez pas besoin de cela car SQL Server s'exécute à une priorité normale. Le planificateur de threads Windows NT ou Windows 2000 ajuste dynamiquement les priorités de threads de tous les threads concurrents pour assurer qu'ils ont les mêmes chances d'accéder aux unités centrales disponibles.

N'ajustez pas le masque d'affinité sauf dans des conditions très particulières. Si vous choisissez d'ajuster le masque d'affinité, effectuez un test méthodique rigoureux avant et après la modification pour en évaluer la nécessité et le degré d'amélioration.

Mise en pool légère

Par défaut, SQL Server utilise un thread par SPID actif ou processus utilisateur. Ces threads travaillent dans une configuration en pool pour maintenir le nombre de threads gérable. L'option de configuration avancée "mise en pool légère" (parfois appelée "mode fibre") utilise le support "fibre" Windows NT pour gérer essentiellement plusieurs contextes d'exécution avec un thread unique.

Selon l'expérience de production actuelle, vous n'avez pas besoin d'utiliser le mode fibre sauf dans de très rares circonstances. La mise en pool légère n'est utile que si toutes les conditions suivantes sont remplies. Vous devez déterminer si elle est réellement utile par le biais d'un test soigneusement contrôlé.
  • De grands serveurs multiprocesseurs sont en cours d'utilisation.
  • Tous les serveurs fonctionnent au maximum ou presque de leurs capacités.
  • De nombreux changements de contexte se produisent (plus de 20 000 par seconde).
Pour rechercher les changements de contexte, utilisez l'Analyseur de performances, sélectionnez les threads compteur, sélectionnez l'objet Changements de contexte/sec, puis sélectionnez toutes les instances SQL Server. SQL Mail dans SQL Server 2000 ou dans SQL Server 2005 n'est pas pris en charge si vous exécutez le serveur en mode fibre. SQL Mail n'est pas pris en charge dans SQL Server 2000 64 bits. Pour plus d'informations, reportez-vous à la rubrique traitant des différences entre les versions 64 bits et 32 bits dans la documentation en ligne de SQL Server 2000 (édition 64 bits). Pour plus d'informations, cliquez sur les numéros ci-dessous pour afficher les articles correspondant dans la Base de connaissances Microsoft.
308604 PROBLÈME : SQL Mail n'est pas pris en charge lorsque vous exécutez le serveur en mode fibre
303120 CORRECTIF : Erreur ConnectionWrite lorsque vous utilisez la mise en pool légère

ES asynchrone maximum

SQL Server 7.0 : Le paramètre de configuration max async IO est disponible dans SQL Server 7.0. Il peut être approprié de modifier ce paramètre si vous avez un système RAID rapide et une façon d'en évaluer les avantages. Ne modifiez pas ce paramètre à moins d'avoir une référence par rapport à laquelle vous pouvez évaluer les résultats. Contrôlez l'activité des disques et recherchez les problèmes de mises en attente de disques. Pour plus d'informations, consultez les rubriques suivantes de la documentation en ligne téléchargeable SQL Server :
  • "Max async IO"
  • "Contrôle de l'activité des disques"
  • "Identification des engorgements"
SQL Server 2000 ou SQL Server 2005 : Dans SQL Server 2000 ou SQL Server 2005, vous ne pouvez pas modifier le paramètre de configuration ES asynchrone maximum. SQL Server 2000 ou SQL Server 2005 règle automatiquement ce paramètre.

Maximum de threads de travail

Par défaut, le paramètre Maximum de threads de travail est 255, ce qui permet la création de 255 threads de travail. Utilisez le paramètre par défaut 255 dans la plupart des cas. Ceci ne signifie pas que vous ne pouvez établir que 255 connexions utilisateur. Un système peut avoir des milliers de connexions utilisateur (qui sont essentiellement multiplexées en 255 threads de travail) et en général, les utilisateurs ne perçoivent pas de délai. Dans un tel cas, seules 255 requêtes peuvent s'exécuter simultanément, mais elles sont multiplexées au nombre d'unités centrales disponibles, donc seule la nature simultanée est perçue, quel que soit le nombre de threads de travail configurés.

Si vous configurez un nombre de threads de travail sur une valeur supérieure à celle par défaut, cette configuration sera presque toujours contre-productive et ralentira les performances en raison de la surcharge de planification et de ressources. Augmentez ce paramètre seulement dans de très rares circonstances et lorsqu'un test méthodique et rigoureux indique qu'il est nécessaire de le faire.

Mémoire


Pour plus d'informations sur la configuration de la mémoire, consultez la rubrique "Optimisation des performances du serveur à l'aide des options de configuration de la mémoire" de la documentation en ligne SQL Server.

Pour plus d'informations sur la configuration de la mémoire pour les serveurs SQL Server en cluster, consultez les "Conditions d'utilisation" dans la rubrique "Création d'un cluster de basculement" de la documentation en ligne SQL Server.

Pour plus d'informations, cliquez sur les numéros ci-dessous pour afficher les articles correspondant dans la Base de connaissances Microsoft.
274750 Comment faire pour configurer la mémoire pour plus de 2 Go dans SQL Server
224818 Réglage de mémoire simple requis si SQL Server 7.0 et Exchange 5.5 Service Pack 2 sont installés sur BackOffice Small Business Server 4.5
316749 PROBLÈME : Mémoire virtuelle potentiellement insuffisante avec un grand nombre de bases de données

Augmentation de priorité

Par défaut, le paramètre augmentation de priorité est 0, ce qui fait que SQL Server s'exécute à une priorité normale que vous l'exécutiez sur un ordinateur monoprocesseur ou sur un ordinateur SMP (symmetric multiprocessor). Si vous définissez augmentation de priorité sur 1, le processus SQL Server s'exécute à haute priorité. Ce paramètre ne provoque pas l'exécution du processus SQL Server à la priorité du système d'exploitation la plus élevée.

Selon l'expérience de support actuelle, vous n'avez pas besoin d'utiliser augmentation de priorité pour de bonnes performances. Si vous utilisez augmentation de priorité, cette option peut interférer avec un serveur normal fonctionnant sous certaines conditions et vous ne devriez l'utiliser que dans des circonstances très rares. Par exemple, les services de Support technique Microsoft peuvent utiliser augmentation de priorité lors de la recherche sur un problème de performances.

IMPORTANT N'utilisez pas le paramètre d'augmentation de priorité pour les serveurs en cluster équipés de SQL Server 7.0, SQL Server 2000 ou SQL Server 2005.

Définir la taille de l'ensemble de travail

Ne modifiez pas définir la taille de l'ensemble de travail du paramètre par défaut. Avec la valeur par défaut 0, le gestionnaire de mémoire virtuelle Windows NT ou Windows 2000 peut déterminer la taille de l'ensemble de travail de SQL Server. Lorsque vous installez SQL Server, l'installation dicte automatique à Windows NT ou Windows 2000 d'optimiser les performances pour les applications réseau. Le gestionnaire de mémoire virtuelle Windows NT ou Windows 2000 fera par conséquent très peu d'ajustement de l'ensemble de travail, qui n'interfère que faiblement avec l'ensemble de travail des instances SQL Server.

La modification de ce paramètre ne fournit généralement aucun avantage en termes de performances. Selon les cas de support actuels, la modification de ce paramètre fait généralement plus de mal que de bien.

Si vous modifiez définir la taille de l'ensemble de travail, cette modification peut également être la cause des messages d'erreur SQL Server 844 ou 845. Consultez la section "Références" de cet article pour plus d'informations sur les causes courantes des messages d'erreur 844 et 845.

Références

Pour plus d'informations, cliquez sur les numéros ci-dessous pour afficher les articles correspondants dans la Base de connaissances Microsoft.
310834 PROBLÈME : Description des causes courantes des messages d'erreur 844 ou 845 (erreurs de délai d'attente du verrou de tampon)
298475 Comment faire pour résoudre des problèmes de performances des applications
243589 Comment faire pour résoudre des problèmes de lenteur d'exécution des requêtes dans SQL Server 7.0 ou versions ultérieures
243588 Comment faire pour résoudre des problèmes de performances des requêtes ad hoc
224587 Comment faire pour résoudre des problèmes de performances d'applications dans SQL Server
166967 Paramètres de configuration SQL Server 6.5 appropriés
254321 À faire, à ne pas faire et avertissements de base pour SQL Server en cluster
297864 Considérations de performance pour une mise à niveau à partir de SQL Server 6.5

Propriétés

Numéro d'article: 319942 - Dernière mise à jour: lundi 16 mai 2011 - Version: 5.0
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft SQL Server 7.0 Standard
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2000 Édition 64 bits
  • Microsoft SQL Server 2000 Édition Développeur
  • Microsoft SQL Server 2000 Édition Entreprise
  • Microsoft SQL Server 2000 Édition Personelle
  • Microsoft SQL Server 2000 Standard
  • Microsoft SQL Server 2000 Workgroup Edition
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Express with Advanced Services
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Web
  • Microsoft SQL Server 2008 Workgroup
Mots-clés : 
kbsqlserverengine kbhowtomaster KB319942
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