De que se trata o artigo

Este artigo aborda a utilização da ferramenta Database Engine Tuning Advisor para nos proporcionar recomendações na manutenção de objetos ou querys no SQL Server. Em um cenário de uma empresa em crescimento, um estagiário tem dúvidas por onde começar uma análise para ver se o erro está na base de dados da empresa, e a ferramenta em questão será utilizada para auxiliá-lo.


Para que serve

Aprender a utilizar a ferramenta Database Engine Tuning Advisor. Ver minuciosamente as telas da ferramenta e aprender como gerenciar as análises fornecidas pela ferramenta. Com isso, ganhar novos caminhos para solucionar possíveis problemas.

Em que situação o tema é útil

Para qualquer desenvolvedor Transact-SQL ou DBA que queiram aprimorar seus conhecimentos em torno de ferramentas do SQL Server e adquirir maior capacidade de resolver problemas e/ou otimizar o banco de dados que está trabalhando.

Profissionais da área de tecnologia estão sempre expostos a inúmeras ferramentas para ajudar ou agilizar o seu trabalho. Podemos ver isso em qualquer busca que realizarmos pela Internet. Encontraremos programas do tipo gerador de código automático, programas para criar relatórios ou documentações, dentre outros. Entretanto, até que ponto podemos utilizar essas ferramentas para nos ajudar?

A resposta é simples! Use o que for necessário para melhorar o seu trabalho. Contudo, não esqueça ferramentas nativas que possuem objetivos mais definidos, que é o caso do Database Engine Tuning Advisor.

Poucos desenvolvedores SGBD têm em mente todas as possibilidades das ferramentas em torno da ferramenta principal e acabam deixando de lado ou acabam não conhecendo. No caso do Tuning Advisor, isso ocorre por que esta não é uma ferramenta de início de desenvolvimento, como o Profiler por exemplo. O Tuning Advisor é utilizado quando já há bastante carga na base e há a necessidade de se obter algum tipo de ajuda na criação de objetos para otimização.

Neste artigo veremos um cenário em que há a necessidade de encontrar respostas às dúvidas de um futuro DBA. Para isso será apresentada minuciosamente a ferramenta Database Engine Tuning Advisor.

A e-Pastelaria.com e o estágiario Marcos

Marcos, estudante de ciência da computação, de 19 anos, acaba de fazer 10 meses em seu estágio como analista de banco de dados Júnior na empresa e-Pastelaria.com. Marcos entrou em contato com a SQL Magazine para falar sobre o cenário de sua empresa e apresentar um assunto que está deixando ele confuso.

A e-Pastelaria.com, como o próprio nome diz, é uma empresa de tecnologia e de alimentos. Segundo Marcos, a empresa vende pasteis em mais de 100 feiras nacionais e faz sites institucionais em um escritório em São Paulo. A estranha união veio de uma idéia de seus empreendedores que perceberam que conseguiriam vender mais sites institucionais do que pasteis na feira.

A empresa conta com um sistema de cadastro de clientes contendo os dados de contato de seus clientes. Este cadastro pode ser realizado por um cliente que comprou 3 pastéis de queijo em uma feira na Freguesia do Ó ou um cliente que solicitou um site para sua floricultura nos Jardins. Ou seja, estão todos cadastrados no mesmo sistema.

Neste ponto começam as dúvidas de Marcos. Segundo ele, todos os sites desenvolvidos estão em uma mesma base, que também é a mesma base que guarda os dados dos clientes. Ultimamente ele tem notado ligações de clientes reclamando da lentidão em seus sites e reclamações de pastelarias que não estão conseguindo cadastrar os seus clientes.

Marcos acha que o problema está no banco de dados, mas resolveu levantar da cadeira e sair para conversar com algumas pessoas no escritório da empresa, que conta com cerca de 30 funcionários. Foi conversar então com Manuela, engenheira de computação responsável pela rede interna e externa da e-Pastelaria.com. Marcos perguntou a ela o que achava das reclamações citadas, e ela respondeu que a rede estava corretamente montada, o servidor trabalhando muito bem, tirando o fato que as aplicações (sites) que geravam problemas e “estressavam” o servidor.

Marcos então foi até o um dos desenvolvedores dos sites: Pedro. Pedro não tinha formação acadêmica, porém possuía um grande conhecimento sobre desenvolvimento de software, incluindo algumas certificações. Após Marcos perguntar sobre o problema, ele simplesmente disse que se os vendedores não vendessem tantos sites, ele teria tempo de melhorar a aplicação.

Por fim, como uma última cartada, Marcos foi até um dos vendedores apenas para ter uma visão não técnica do assunto. Fez a mesma pergunta para João Carlos, que simplesmente respondeu que precisava que o problema fosse resolvido logo, pois os clientes estavam ficando cada vez mais nervosos, e que achava que o problema estaria relacionado ao banco de dados.

Marcos voltou a sua mesa como se tivesse feito uma viajem pelo mundo sem parar em lugar nenhum. Percebeu que a bola estava sendo passada de um para outro. Entretanto, ele queria provar que estava certo, que possivelmente o banco de dados poderia ser melhorado ou, até mesmo, provar que o banco estava perfeito, sem problemas para arrumar, por isso ele entrou em contato com a SQL Magazine. Marcos gostaria de saber para quem pedir algumas recomendações.

Pedimos para Marcos passar algumas horas conosco aqui na SQL Magazine. Dissemos a ele que como ele é estagiário, iríamos “ensinar a pescar” e ele mesmo iria descobrir para quem deveria solicitar recomendações.

Apresentando o Tuning Advisor para recomendações

Para ajudar Marcos em suas dúvidas, vamos apresentar o Database Engine Tuning Advisor (DTA) . O DTA é uma ferramenta presente nas versões Enterprise do SQL Server 2005 e 2008 em inglês ou português, substituindo o Tuning Wizard do SQL 2000. Esta ferramenta ajuda quem não possui um conhecimento avançado sobre a criação de índices ou partições no SQL Server.

...
Quer ler esse conteúdo completo? Tenha acesso completo