SQL Server Best Practices – Fixer la mémoire de l’instance

Une des premières étapes de la configuration d’une instance SQL Server est d’appliquer des « Best Practices ». Définir une limite maximale pour la mémoire allouée à l’instance est très important. Cela permet de ne pas se retrouver avec un serveur saturé.

Mais comment définir la meilleure valeur à mettre en place ?

Voici deux règles simples :

  1. (Mémoire du serveur) – ((Mémoire du serveur) * 0,10))
  2. (Mémoire du serveur) – Une valeur fixe en fonction de la mémoire du serveur

Ces règles sont applicables dans le cas ou il n’y a qu’une seule instance SQL sur le serveur.
Pour ma part je préfère celle avec les valeurs fixes, qui sont définies suivant la mémoire totale.

Voici ce que j’utilise :

  • 1 GO pour 4 GO
  • 2 GO pour 8 GO
  • 4 GO pour 16 GO et plus

A ajuster si d’autres services sont installés (SSIS/SSAS/SSRS etc…) ou si la mémoire de votre serveur ne rentre pas dans ces critères.

Pour un serveur de 8 GO nous aurons donc : 8(Mémoire du serveur) – 2(Valeur fixe) = 6 GO allouée à l’instance.

En plus de fixer la mémoire maximum dédiée à l’instance, on peut également mettre une valeur minimum. Si vous mettez une valeur minimum et maximum au même niveau, par exemple 6 GO, l’instance restera à cette valeur fixe tant qu’elle sera active.
C’est intéressant pour avoir une valeur de référence et détecter un problème de mémoire sur le serveur.

Pour fixer la mémoire vous pouvez passer en interface graphique avec SSMS ou directement en requête T-SQL.

Avec SSMS :

Aller dans les propriétés de l’instance, puis Memory et Server memory options.
Puis changer la valeur minimum et maximum de la mémoire dédiée à l’instance.

En T-SQL :

EXEC sys.sp_configure N'show advanced options', N'1'  RECONFIGURE WITH OVERRIDE
GO
EXEC sys.sp_configure N'min server memory (MB)', N'6144'
GO
EXEC sys.sp_configure N'max server memory (MB)', N'6144'
GO
RECONFIGURE WITH OVERRIDE
GO
EXEC sys.sp_configure N'show advanced options', N'0'  RECONFIGURE WITH OVERRIDE
GO

Remplacer 6144 par la valeur que vous aurez définie.

Cet article est le premier d’une longue série sur les Best Practices  de SQL Server.
D’autres seront postés dans les semaines à venir.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

5 × 5 =