mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-14 09:35:37 -05:00
31 lines
872 B
Transact-SQL
31 lines
872 B
Transact-SQL
-- source:https://www.mssqltips.com/sqlservertip/2393/determine-sql-server-memory-use-by-database-and-object/
|
|
-- Use for a demo/sample purpose only. This query is not built-in to any product.
|
|
|
|
DECLARE @total_buffer INT;
|
|
|
|
SELECT @total_buffer = cntr_value
|
|
FROM sys.dm_os_performance_counters
|
|
WHERE RTRIM([object_name]) LIKE '%Buffer Manager'
|
|
AND counter_name = 'Database Pages';
|
|
|
|
;WITH src AS
|
|
(
|
|
SELECT
|
|
database_id, db_buffer_pages = COUNT_BIG(*)
|
|
FROM sys.dm_os_buffer_descriptors
|
|
--WHERE database_id BETWEEN 5 AND 32766
|
|
GROUP BY database_id
|
|
)
|
|
SELECT TOP 10
|
|
[db_name] = CASE [database_id] WHEN 32767
|
|
THEN 'Resource DB'
|
|
ELSE DB_NAME([database_id]) END,
|
|
--db_buffer_pages,
|
|
--db_buffer_MB = db_buffer_pages / 128,
|
|
db_buffer_percent = CONVERT(DECIMAL(6,3),
|
|
db_buffer_pages * 100.0 / @total_buffer)
|
|
FROM src
|
|
--ORDER BY db_buffer_MB DESC;
|
|
order by db_buffer_percent DESC;
|
|
|