SQL Server Performance

SQL Server – Setar a opção AUTO_CLOSE para OFF para melhor performance

SQL Server Performance

Como vocês sabem eu trabalho como consultor SQL Server com foco em performance e desempenho das aplicações de todos os clientes que eu atuo diariamente. E hoje eu vou compartilhar aqui mais uma dica que ajudou um dos clientes a melhorar o desempenho das aplicações utilizando a opção da base de dados AUTO_CLOSE OFF.
Esse cliente me chamou no Skype solicitando uma ajuda, pois seu ambiente de SQL Server estava lento. Achei curioso pois tinha ajudado ele alguns dias atrás com performance. Um outro trabalho que durou um dia inteiro para ser resolvido. Para ajudar ele nesse caso, deixei uma documentação que estava fazendo para atendê-lo.
Quando eu acessei o servidor, percebi que estava bem lento mesmo, executei alguns scripts e inicialmente não encontrei a causa raiz que me deixasse convencido de um problema de querys lentas. Resolvi iniciar novamente, porém fazendo uma análise mais detalhada.

Nessa análise identifiquei que a opção de banco de dados AUTO_CLOSE estava configurada como ON.

SQL Database configure AutoClose
Para verificar isso, basta clicar com o botão direito na sua base de dados selecionar a opção propriedades e você verá (como na imagem acima) AUTO_CLOSE = TRUE. Você deve mudar essa opção para FALSE.
Ou executar comando T-SQL que dá no mesmo.

USE [master] GO ALTER DATABASE [AdventureWorks2014] SET AUTO_CLOSE OFF;

GO

Qual o motivo disso?

Quando o AUTO_CLOSE está ativado ele causa degradação no desempenho da base de dados que é muito acessada resultando no aumento da sobrecarga de abertura e fechamento no SQL Server a cada nova conexão. Além disso quando está ligado, também limpa (remove) o cache após cada nova conexão.

Há cenários bem raros que você precise dessa configuração setada como ON. Porém na maioria dos casos é uma boa prática deixá-lo como OFF.
Acesse seu banco de dados agora mesmo e verifique se essa opção está configurada como ON (true), se estiver, verifique com seu DBA SQL Server por que está mantido como ON. Se você é o administrador do seu ambiente, você pode desativá-la setando como OFF (false).

Apenas fiz essa modificação no ambiente SQL Server e o servidor voltou ao normal sua performance.

SQL Server – Setar a opção AUTO_CLOSE para OFF para melhor performance
The following two tabs change content below.

Wesley Mota

DBA SQL Server
Profissional graduado em Banco de Dados e Sistemas de Informação com mais de 7 anos de experiência em empresas de software. Certificado MCSA Microsoft SQL Server possui intensa vivência em administração de banco de dados, Tunning, Performance SQL Server, levantamento de melhorias e monitoramento de banco de dados e servidores SQL Server. Consultoria SQL Server em diversos clientes no Brasil e ao redor do mundo. Escritor no blog dbasqlserverbr.com.br/blog. Onde compartilha conhecimento, experiências e dicas de performance para DBAs SQL Server. Conhecimentos em Oracle e ambientes de alta disponibilidade. Desenvolvimento de softwares web e mobile.Gerenciamento de equipe e projetos.

Latest posts by Wesley Mota (see all)