Blog Archives

Calculo: Consumo Buffer Pool

Ola Pessoal,

Apenas para compartilhar um simples script de como calcular o quanto de memoria o Buffer Pool esta consumindo.

SELECT DB_NAME(database_id) AS [Database Name],
COUNT(*) * 8/1024.0 AS [Cached Size (MB)] into #temp
FROM sys.dm_os_buffer_descriptors
WHERE database_id > 4 — system databases
AND database_id <> 32767 — ResourceDB
GROUP BY DB_NAME(database_id)
ORDER BY [Cached Size (MB)] DESC OPTION (RECOMPILE);

select ‘DATA CACHE’ as TipoDeMemoria,SUM([Cached Size (MB)]) as TotalEmMB from #temp
union all
select ‘PLAN CACHE’ as TipoDeMemoria,(SUM(cast(size_in_bytes as bigint)) / 1024 / 1024) as TotalEmMB
from sys.dm_exec_cached_plans
union all
select ‘BUFFER POOL’ as TipoDeMemoria,(SUM(cast(size_in_bytes as bigint)) / 1024 / 1024) + (SELECT SUM([Cached Size (MB)]) from #temp)
from sys.dm_exec_cached_plans

Segue em um dos ambientes o resultado.

Imagem

Vale lembrar que aqui estou falando apenas de Buffer Pool, ou seja, nao estou mencionando o VAS (VIRTUAL ADDRESS SPACE) que será discutido em um proximo post.

Auto Close vs Data Cache

Ola Pessoal,

Acho que a maioria dos DBA’s conhece essa opção do Auto Close, e também sabem o quanto nós não gostamos dessa função.

De acordo com o BOL o Auto Close faz com que após o ultimo usuario se desconecte da base de dados ele libera todos os locks presentes na mesmo, ou seja, agora você consegue pegar o arquivo .mdf e fazer o que voce quizer seja copiar, mover ou até mesmo excluir.

Mas o que essa opção influencia no Data Cache? Bom meu amigo, ela tem total interferencia, pois sendo que após o ultimo usuario se desconectar todos os locks são liberados e com isso todo vestigio de presença desse banco de dados no Buffer Cache do SQL Server é eliminado, então todas as paginas de dados que estavam presentes lá no Data Cache serão escritas novamente no disco. Agora você imagina isso em um banco altamente transacional recebendo milhares de requisições por segundo, quando o ultimo carinha se desconectar a morte começa a pairar sobre o seu banco de dados.

Read the rest of this entry