如何检查 SQL Server 中的缓冲池大小?

如何检查 SQL Server 中的缓冲池大小?

有没有办法在 SQL Server 中找到总分配的缓冲池大小?在 mysql 中,我们可以通过使用变量 innodb_buffer_pool_size 找到它。在 SQL Server 中有没有等效的变量?

答案1

要了解 SQL 实例上每个数据库使用的缓冲区缓存量,您可以运行此查询,该查询使用 dmvsys.dm_os_buffer_descriptors

SELECT
  database_id AS DatabaseID,
  DB_NAME(database_id) AS DatabaseName,
  COUNT(file_id) * 8/1024.0 AS BufferSizeInMB
FROM sys.dm_os_buffer_descriptors
GROUP BY DB_NAME(database_id),database_id
ORDER BY BufferSizeInMB DESC
GO 

相关内容