Notei que alguns DBAs reiniciam o SQL Server com muita frequência, às vezes até à noite. Eu acredito que eles fazem isso para liberar um pouco de memória, ou talvez para acelerar as consultas também. Sei que, após uma reinicialização, os planos de consulta precisam ser recompilados, mas mesmo incluindo isso, pergunto-me se há um benefício líquido para essa prática.
É verdade que reiniciar o SQL Server diariamente torna a execução mais rápida?
fonte
Embora as outras respostas sejam boas, falta uma peça importante: o cache de arquivos do Windows.
No Windows de 64 bits, não há limite para a quantidade de memória que o Windows usará para armazenar arquivos em cache. O Windows pode esgotar completamente a memória do sistema e, nesse ponto, você começará a trocar para o disco. Foi documentado em alguns lugares:
Ao reiniciar o SQL Server, você força o SQL a desistir de memória, permitindo que o Windows obtenha mais e a paginação para temporariamente. O SQL será iniciado novamente com o uso de memória quase zero e aumentará gradualmente. Quando a caixa ficar sem memória novamente, a reinicialização ajudará temporariamente. Ao reiniciar todo o sistema operacional, você também forçará o uso do cache de arquivos do Windows.
A correção real: pare de copiar arquivos do servidor Windows ou limite a quantidade de cache de arquivos em uso com o Serviço de Cache Dinâmico de Arquivos, conforme documentado nas postagens acima.
fonte
Se acelerar as consultas, pode estar envolvido o sniffing de parâmetros . Se um plano de porcaria é armazenado em cache e aplicado a chamadas subseqüentes inadequadas, o milagre da reinicialização permite que o plano comum / correto seja armazenado em cache. Se for esse o caso, existem maneiras infinitamente melhores de corrigir o comportamento, como outros indicaram. Mas até que eles parem de reiniciar a caixa, não há como executar a análise de causa raiz.
fonte
Você não deve reiniciar o SQL Server, a menos que tenha alterado as propriedades do serviço ou definido os rastreamentos de inicialização que deseja entrar em vigor imediatamente.
Como o @RemusRusanu afirmou muitos pontos, ele limpa muitos caches e faz com que o SQL Server execute muitos trabalhos de inicialização desnecessários .
Parece que este servidor não é um servidor SQL Server / banco de dados dedicado. É uma prática recomendada que um servidor de banco de dados de produção tenha apenas um propósito ... ser um servidor de banco de dados. Nesse caso, você reservaria memória e recursos suficientes para o sistema operacional e daria todo o resto para o SQL Server. Isso levaria você a não passar fome por outros aplicativos ou funções de servidor.
fonte
Concordo com o sentimento de que, se você estiver fazendo tudo certo, talvez não seja necessário reiniciar / reiniciar o servidor MSSQL.
Para mim, isso se aplica ao cenário em que todos são competentes e você pode consertar qualquer coisa.
Eu não sou um DBA. Sou arquiteto de software e parte disso envolve a criação de esquemas de banco de dados inteiros do zero e, infelizmente , trabalhar com bancos de dados de terceiros sobre os quais não tenho absolutamente nenhum controle.
As pessoas, que criaram e mantêm um de nossos principais bancos de dados de terceiros, mal o tornaram funcional.
Eu mencionei que também não sou especialista em segurança ou engenheiro de rede?
Para mim, a pergunta se torna: devo reiniciar o SQL Server com mais frequência a cada três meses?
Programação Reiniciar com a promessa de uma polegada extra de performance, é como dançar para a chuva.
Talvez venha, talvez não, mas você não saberá ao certo o que causou a chuva.
Eu não como dizer que você nunca necessário reiniciá-lo para solucionar um problema ou verificar failover, mas eu faço tem um problema com Restarts agendamento para manter um problema de desempenho desconhecido ocorra aleatoriamente.
A única exceção é se você gerenciar um banco de dados de terceiros não autorizado onde reiniciá-lo a cada semana ou duas parece ser a única maneira de mantê-lo operacional e você não poderá consertá-lo ou mesmo tocá-lo.
Mesmo assim, você deve procurar correções, compartilhá-las com o proprietário e aumentar o inferno até que isso seja resolvido.
fonte