Categories: Performance

SQL Server – Setar a opção AUTO_CLOSE para OFF para melhor 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.


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
Wesley Mota

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.

Share
Published by
Wesley Mota

Recent Posts

Dicas de como a função UPPER() no SQL Server pode degradar a performance

Saiba como a função UPPER() no SQL Server pode degradar a performance das suas consultas…

6 anos ago

Como diminuir o RESOURCE_SEMAPHORE_QUERY_COMPILE

Saiba agora mesmo como você pode diminuir o RESOURCE_SEMAPHORE_QUERY_COMPILE no SQL Server. Recentemente eu trabalhei em…

8 anos ago

Funções de Data no SQL Server: Conheça a DATEADD ()

Nós DBA' e desenvolvedores quase sempre temos que trabalhar com datas quando se trata de…

8 anos ago

3 Maneiras Para Proteger a Conta SA no SQL Server

Quais são as diferentes maneiras de proteger o login Senha do Administrador (SA)? Todos estão…

8 anos ago

Alterar a Senha de SA do SQL Server: Como Fazer?

Com os direitos que o login sa tem por padrão no SQL Server, é obrigatório…

8 anos ago

Segurança Para DBAs e Administradores no SQL SERVER

Como um DBA, você tem a responsabilidade de garantir a segurança do aplicativo e dos…

8 anos ago