我准备在服务器 RAM 升级后提高我们的max server memory
价值。我正在测试 SQL Server 上的命令,但我不知道为什么使用 T-SQL 和 GUI 看到的结果不同。我将测试服务器上的内存更改为 24GB,如下所示:
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'max server memory', 24576;
GO
RECONFIGURE;
GO
在 GUI 中我看到 24576。
但是使用下面的查询,我看到的是 22421。我做错了什么?
SELECT (physical_memory_in_use_kb/1024) AS Used_Memory_By_SqlServer_MB
FROM sys.dm_os_process_memory
答案1
您的查询返回的是 SQL 使用的内存,而不是它允许消耗的最大服务器内存。
如何使用 T-SQL 获取 SQL 实例的最小和最大内存分配?
这将向您展示如何通过查询获取该值。
SELECT name, value, value_in_use, [description]
FROM sys.configurations
WHERE name like '%server memory%'
ORDER BY name OPTION (RECOMPILE);