有没有办法在 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