Serão apresentadas ferramentas
como Management Studio, Database Tuning Advisor e SQL Profiler, e alguns
parâmetros de configuração de instâncias e databases que influenciam
diretamente na performance do servidor. Esta discussão é útil para quem deseja
saber mais sobre como trabalhar com o ajuste de desempenho do SQL Server,
conhecendo diferentes métodos e ferramentas para realizar esta tarefa.
Um dos serviços mais importantes na área de TI é o desempenho das aplicações, juntamente com a disponibilidade e integridade dos sistemas e de seus dados. Visando obter uma performance adequada do banco de dados SQL Server, primeiramente é necessário instalá-lo e configurá-lo de acordo com as necessidades e os recursos de máquina disponibilizados, prezando sempre pelas recomendações de melhores práticas sugeridas pela Microsoft.
Também é necessário garantir que as consultas e transações sejam executadas com o menor tempo possível para que o usuário da aplicação as utilize de maneira satisfatória.
Para isso, é necessário que o administrador de banco de dados tenha conhecimento sobre como monitorar o servidor de maneira eficiente com o objetivo de agilizar a análise da performance dos processos submetidos à instância do servidor.
Uma instância do SQL Server pode ser compreendida como um repositório onde se encontra os bancos de dados. Ao configurar uma instância, deve-se atentar às configurações relacionadas ao hardware do servidor como, por exemplo, a quantidade de processadores a serem utilizados, memória física disponível, distribuição dos arquivos, dentre outras.
Vale lembrar que estas configurações podem ser alteradas após a instalação, mas algumas necessitam de um restart do serviço do SQL Server, causando sua indisponibilidade.
Quanto à utilização dos processadores, por padrão, o SQL Server utilizará todos os núcleos para as consultas SQL. É necessário avaliar a utilização de CPU logo após a instalação e utilização dos bancos de dados.
Caso a utilização esteja alcançando valores próximos de 100% constantemente, e seja identificado que o servidor é o maior usuário deste recurso, é interessante alterar a configuração para que ele não utilize todos os núcleos. Isto pode causar problemas de performance, gerando uma lentidão devido à espera de outros processos no uso da CPU.
Uma das principais causas do uso não eficiente de CPU pelo serviço do SQL Server são consultas com baixa performance, ou por estarem mal escritas ou pelo plano de execução utilizado pelo banco não ser o de melhor desempenho.
Trataremos deste assunto no seguinte tópico, mas neste momento, a melhor ação a ser tomada é configurar o SQL Server para que ele deixe de utilizar pelo menos um dos núcleos, liberando-o assim para o Sistema Operacional (SO) e outros processos.
É recomendado que o parâmetro maximun server memory seja configurado para não utilizar toda a memória disponível no servidor. Caso isto não seja feito, o SQL Server irá alocar toda a memória disponível fazendo com que não haja espaço suficiente para a utilização do SO e de outros aplicativos. Isto trará problemas de performance devido à paginação que passará a ser realizada.
Geralmente, dependendo do SO instalado, é
recomendado que estejam disponíveis pelo menos 2 ...