#### 🧹Como limpar o cache de consulta do SQL Server? ####
O SQL para otimizar a performance de consulta utiliza um recurso chamado SQL Server Query Optimizer. É fundamental esta tarefa, pois sem ela os recursos do servidor seriam seriamente estressados, ocasionando lentidão, altos consumos de memoria e ate mesmo paradas de serviços.
Porém é fundamental a limpeza do cache do servidor SQL, para que não haja um retorno falso na consulta devido o mecanismo de cache.
⚠️Atenção: A limpeza de cache deve ser utilizada de modo controlado, pois em um ambiente de produção pode ocasionar queda de performance, devido a função Cache de plano, que armazena consultas que já foram executadas, com isso o SQL tem a possibilidade de reutilizadas estas consultas para assim otimizar a performance.
Porem deve-se ter muito cuidado, pois se uma determinada consulta mal elaborada pode ocasionar diversos erros.
Ex.:
Em um ambiente de prestação de serviço, o sistema utiliza diversas consultas de geração de relatório, sendo que estas consultas fazem uso do NOLOCK , como todos sabem o NOLOCK trás os dados em movimentos.
Em uma destas consultas veio a trazer dados que já não eram mais reais. Logo o relatório não foi gerado, e com ele veio as informação de erro por e-mail:
Como visto na imagem acima o erro não foi muito específicos, Vários foram os teste realizados antes de qualquer atitude drásticas. Por fim sobram duas opções, a limpeza de cache e boot do servidor. ambos métodos críticos. Foi optado a primeira opçao ( Limpeza de Cache ), menos agressiva e mais pontual em ambiente onde a instancia tem varias Database.
Vamos ao processo:
################################
Escolha um horário adequado, fora do horário de pico e certifique que seu backup esta Ok.
⚠️Atenção: NÃO utilizaremos o comando abaixo, pois não queremos que os arquivos de cache buffer e modificadas sejam escritos no disco.
CHECKPOINT
GO
################################
1- Abra o SSMS
2- Click em New Query
3- Digite o Comando abaixo:
USE <Nome do Banco de Dados>;
GO
DBCC DROPCLEANBUFFERS;
GO
Pronto, problema resolvido, removida todos os buffers do cache que contêm os dados já movidos para o disco.
Definições da Microsoft para comando 👉 DBCC DROPCLEANBUFFERS
Deixe seu comentário, duvida, opinião e sugestões aqui em baixo 👇. Assim você ajuda o blog e ajuda outros profissionais a compartilhar conhecimento. 💻
Nenhum comentário:
Postar um comentário