Comment obtenir l'allocation de mémoire minimale et maximale d'une instance SQL à l'aide de T-SQL?

15

Je gère environ 90 instances SQL Server et j'ai besoin d'une requête pour déterminer la quantité de mémoire allouée à chaque instance. Veuillez noter que je ne demande pas comment le configurer, juste pour voir ce qu'il est actuellement défini sans utiliser Management Studio.

Merci de votre aide.

jeton
la source
Lorsqu'il est exécuté sur mon système. les valeurs sont données comme 2147483647, la mémoire RAM de mon système n'est que de 2 Go, dans ce cas, je considère la valeur de retour comme Mo. si je le considère comme Mo, la RAM de mon système devrait être de 2097152 Go
C'est la valeur configurée, pas votre RAM réelle. Il permet à SQL Server de prendre jusqu'à cette quantité de mémoire (y compris la mémoire virtuelle)
MichelZ

Réponses:

26

Essayez ceci sur la masterbase de données:

SELECT name, value, value_in_use, [description] 
FROM sys.configurations
WHERE name like '%server memory%'
ORDER BY name OPTION (RECOMPILE);

Vous donne max server memory (MB)etmin server memory (MB)

MichelZ
la source
Juste une note si vous utilisez sqlcmd.exe: je recommanderais d'utiliser le -Wcommutateur pour couper les espaces blancs comme décrit ici - il y en a beaucoup (au moins dans ma configuration).
ChriPf