Limpando o Cache no SQL Server
- Amanda Nascimento

- 2 de jun.
- 2 min de leitura
O SQL Server armazena em memória:
Buffer Cache: Armazena páginas de dados (linhas das tabelas) que foram lidas do disco.
Procedure Cache (ou Plan Cache): Armazena planos de execução de consultas, para não precisar recompilar sempre que a mesma consulta for executada.
Exemplo: Se você consultar uma tabela com 1 milhão de linhas, o SQL Server guarda esse conteúdo em memória. Na próxima consulta, ele usa os dados diretamente da RAM, que é muito mais rápida que o disco.
O armazenamento em memória, também conhecido como cache, é quando o SQL Server guarda temporariamente informações na RAM (memória do servidor) para evitar acessos repetitivos ao disco (que são mais lentos).
Esses caches existem para acelerar o desempenho das consultas. Porém, às vezes, eles precisam ser limpos manualmente, especialmente em cenários de teste, tuning ou após mudanças no volume/distribuição dos dados.
📌 1. Limpar cache de planos de execução
DBCC FREEPROCCACHE;
Esse comando remove todos os planos de execução armazenados. Após isso, o SQL Server precisará recompilar os planos das próximas consultas, o que pode causar uma lentidão temporária.
📌 2. Limpar cache de páginas de dados
DBCC DROPCLEANBUFFERS;
Remove da memória todas as páginas de dados que estavam em cache. Isso força o SQL Server a reler os dados do disco, impactando o desempenho momentaneamente.
Ideal para ambientes de teste, ou para medir desempenho de uma consulta "do zero".
Se executado em um sistema ativo, pode causar lentidão perceptível aos usuários.
Se precisar rodar em produção, faça isso em janelas de manutenção (períodos programados de menor uso do sistema, nos quais tarefas pesadas podem ser executadas sem impactar os usuários)
Monitore os efeitos após o uso
Esse conjunto de comandos zera o cache e atualiza as estatísticas com precisão máxima — excelente para testes de desempenho realista de uma nova consulta ou índice.
Exemplo de uso em conjunto com estatísticas:
USE EMPRESA1;
DBCC FREEPROCCACHE;
DBCC DROPCLEANBUFFERS;
UPDATE STATISTICS dbo.PACIENTE WITH FULLSCAN;


