Eu gosto bastante de dbatools, então experimentei Get-DbaDbMemoryUsage
( documentos aqui ) em meu servidor SQL Server 2019 de teste. Especificamente, eu executei isso
Get-DbaDbMemoryUsage -SqlInstance [MyServer] -IncludeSystemDbs |
Select Database, PageType, PercentUsed |
Where PercentUsed -ne 0 |
Format-Table
A ideia do comando é mostrar qual porcentagem da RAM do seu servidor está sendo usada por quais tipos de páginas em cada um dos seus bancos de dados.
Quando li meus resultados, fiquei chocado ao descobrir que 76% do uso de RAM no meu servidor é TEXT_MIX_PAGE em tempdb. O que isso indica? Pelo que vale, o referido servidor estava muito silencioso no momento em que executei isso.
Ele mostrará que tipo de páginas estão no buffer pool de cada banco de dados (o que não é diferente de consultar
sys.dm_os_buffer_descriptors
você mesmo). Embora o buffer pool seja normalmente o maior consumidor de memória da instância, ele não é o único consumidor e, além disso, o conteúdo do buffer pool está em constante fluxo com base nos itens necessários.Consultar o DMV (que é tudo o que o item dbatools faz) lhe dará um instantâneo do que expliquei acima, mas os dados são acionáveis ou úteis de alguma forma?
Depende de qual pergunta você está tentando responder. Se a pergunta for sobre o uso do buffer pool, acho que isso responde à pergunta, embora eu não saiba muitas vezes que essa pergunta precisaria ser feita.
Se a pergunta fosse sobre o que está sendo usado para o banco de dados, isso mudará com base na carga de trabalho, nos clientes do banco de dados e nas necessidades. Pode muito bem atingir algumas mesas durante um dia, respondendo perguntas sobre endereços de correspondência, e no próximo fazer algo completamente diferente ao gerar um relatório sobre o número de itens vendidos naquela hora. Não vejo como o tipo ou o número de tipos de página sejam úteis nessa situação.
Há mais perguntas que poderiam ser feitas, mas nenhuma que eu consiga pensar que realmente faça valer a pena coletar esses dados. Além disso, se você estiver interessado na composição do layout de dados no banco de dados, existem outros DMVs baseados em mecanismos de armazenamento que podem ser mais úteis, como observar o uso de dados LOB. Como isso é mais útil? Não sei, depende da pergunta. Pode ser um pouco útil identificar objetos de dados que precisam ser refatorados, e isso é um exagero.