
Você vai entender a amplitude do impacto de problemas de performance no banco de dados, problema esse que não envolve somente o banco de dados, mas um conjunto de variáveis que inclui o servidor físico, Hypervisor (se virtualizado), Sistema Operacional, Instância de Banco de dados, Bancos de dados, rede e aplicações nos clientes locais/remotos que se conectam no banco de dados em questão, e tudo isto, você vai aprender neste curso.
Nesta aula, você irá fazer download e instalar todos os componentes necessários para montagem do laboratório e assim montar sua máquina virtual com o SQL Server, que será utilizado na prática, durante todos os exercícios listados no curso
Este vídeo é uma continuação do processo de preparação do ambiente de laboratório, iniciado na aula anterior.
Veja como extrair o máximo dos processadores instalados no seu ambiente, e também sobre como tomar cuidado o impacto negativo do OverCommit de CPUs. Não é porque seu hardware tem muitas CPUs, que elas estão sendo disponibilizadas para o seu servidor
O SQL Server, como a imensa maioria dos sistemas gerenciadores de bancos de dados, adora memória, e por isso, é preciso que você conheça sua arquitetura em ambientes virtuais e físicos, além de pequenos truques de como otimizar sua utilização ao máximo. É isso que você aprenderá nesta aula.
Nesta aula, você aprenderá conceitos sobre as melhores práticas de layout de discos na camada de storage, além das melhores tecnologias utilizadas atualmente, visando uma melhor performance do banco de dados SQL Server
Não basta apenas ter discos rápidos. É preciso saber configurá-los conforme as melhores práticas para se obter o melhor throughput (IO) possível, e é isso que você vai aprender nesta aula
Segurança no servidor de banco de dados é crucial, por isso temos anti-vírus, mas veja nesta aula, como uma ferramenta como essa pode não somente matar o vírus, mas a performance do seu servidor também, e como evitar isso. E vamos falar também sobre as configurações de gerenciamento de energia, sobre como configurá-lo com olho na performance do Servidor.
Nesta aula, vamos abordar 3 ajustes importantes no nível do Sistema Operacional, visando a performance: Placa de rede, memória e discos (fragmentação), opções simples de configurar, e que podem melhorar o tempo de resposta das aplicações que se conectam ao banco de dados de forma significativa
Veja que você pode ter os melhores discos disponíveis para seu banco de dados, e mesmo assim não ter uma configuração adequada em termos de distribuição dos arquivos relacionados aos SQL Server de forma a garantir a melhor performance possível, e é isto que você vai aprender aqui
Nesta aula você vai aprender a verificar e parametrizar a memória para sua instância de banco de dados do SQL Server, fazendo uso do máximo de memória disponível no servidor, mas sem se esquecer da porção dedicada ao sistema operacional e outras aplicações
Nesta aula você vai aprender como expandir a memória do seu servidor de banco de dados sem precisar colocar muito a mão no bolso. Os ganhos de performance podem ser consideráveis, além da economia financeira
Nesta aula você vai aprender sobre como expandir sua memória de forma a conseguir ainda mais performance, se comparado com a feature Buffer Pool Extension, da aula anterior.
Processamento utilizando CPUs em paralelo nem sempre traz o ganho de desempenho esperado, veja nesta aula o porque.
Veja também como você pode melhorar a capacidade de tomada de decisões do SQL Optimizer para que possa ser mais eficaz na hora de escolhar processamento em paralelo ou serial para suas queries
Uma boa arquitetura de CPUs é essencial, mas além disso, o SQL Server também é capaz de otimizar ainda mais na utilização desses recursos se bem configurado para isso, veja como nesta aula
Comandos AdHoc são por vezes invitáveis no nosso ambiente. São mais difíceis de tirar melhor performance deles por sua natureza mutante, mas tem ajustes que podemos fazer no nível do SQL Server que podem ajudar a torná-los mais rápidos, além de economizarmos na utilização de memória, veja nesta aula!
Olha, você pode ter muitas CPUs atribuídas ao seu Sistema Operacional, porém isso pode não ser o suficiente: Aí entra seu conhecimento para identificar o problema de gargalo e reconfigurar alocando suas CPUs de forma a priorizar suas cargas de trabalho mais importantes. Veja como fazer isto neste vídeo
Seu banco de dados precisa expandir a medida em que dados vão sendo adicionados, e esse processo de expansão dos arquivos de dados pode custar caro em termos de performance. Veja nesta aula, como você pode otimizar isso de forma a permitir alocação de espaço instantaneamente, evitando assim tempos de espera (WAITS) desnecessários
Nesta aula, entenda de uma vez por todas o conceito de threads no SQL Server e sobre como proceder para verificar se está configurado de forma mais otimizada possível na sua instância.
O Fator de Preenchimento dos índices (Fill Factor) pode ser importante aspecto no auxílio da performance do SQL Server, veja quando e como você deve configurá-lo para obter melhor performance no seu banco de dados
Talvez suas queries somente precisam de um pouco mais de memória, alocadas individualmente para melhorar a performance, veja se é o seu caso e como fazer isso nesta aula
O TempDB é crucial ponto de otimização no SQL Server, pode se tornar um verdadeiro gargalo caso não seja otimizado de acordo com as boas práticas recomendadas pela Microsoft. Veja como fazer isso nesta aula.
Ao sofrer com problemas de performance ao extremo no seu servidor SQL Server, pode ser que você não tenha recursos disponíveis nem para se conectar e verificar o que está ocorrendo. Então você vai precisar de uma porta de entrada dedicada para conseguir essa proeza, veja nesta aula como fazer isso.
Configurar sua instância com alta prioridade de processamento no seu servidor é uma boa ideia? Veja nesta aula como essa feature funciona e se ainda é válida
Default Trace é um bom recurso que podemos explorar para nos dar indícios sobre problemas na instância e que podem degradar a performance. Veja como configurar e analisar os dados nesta aula
Veja nesta aula, como verificar as configurações do SQL Server Audit quanto a seu impacto na performance do SQL Server. Vou lhe mostrar que é possível aliar auditoria e performance
Você pode não ter a opção de descartar a criptografia na comunicação em trânsito no se banco de dados, mas veja nesta aula algumas dicas para minimizar os problemas de performance que isso pode causar.
Veja nesta aula como verificar se seus recursos estão limitados de forma programada no Resource Governor e sobre como configurá-lo de acordo com suas prioridades, dessa forma otimizando a performance para as tarefas mais críticas no seu sistema.
A criptografia em nível dos arquivos de banco de dados pode ser necessária no seu ambiente, neste caso veja como avaliar o impacto na performance, caso essa feature esteja habilitada.
Veja nesta aula como manipular os parâmetros relacionados as estatísticas no banco de dados, e ao mesmo tempo diminuir o impacto negativo da feature e melhorar a performance de suas queries
Uma das formas de otimizar a performance é eliminar tráfego de dados desnecessários entre a sua aplicação e o banco de dados, e é isso que vou lhe ensinar a fazer nesta aula.
Fechar o banco de dados pode proporcionar uma economia de recursos totalmente inviável, dado o custo de abrie e fechar o banco de dados, nesta aula, veja o impacto disso na sua performance e como avaliar se deve utilizá-la ou não
Nesta aula você vai avaliar o custo do Shrink para seu banco de dados, se compensa, e sobre a melhor forma e hora de fazê-lo, com o intuito de evitar impactos severos na performance da sua aplicação
Seu banco de dados precisa crescer, e de forma automatizada é melhor, mas cuidado com a forma com que você configurou os parâmetros de crescimento. Nesta aula, você vai aprender sobre uma confguração ruim e como configurar de forma a buscar menor impacto possível na sua performance.
Pode ser possível aliar o modo de recuperação do seu banco de dados com uma melhor performance possível. Nesta aula, veja como avaliar essa opção no seu ambiente de banco de dados.
O nível de compatibilidade do seu banco de dados pode impactar negativamente a performance de suas queries. Nesta aula, veja como você pode avaliar, mudar e testar o impacto na performance, ao fazer upgrade do parâmetro.
Através desta nova feature do SQL Server, você pode mesclar o nível de compatibilidade do seu banco de dados com as últimas atualizações do Query Optimizer. Neste vídeo você vai aprender como fazer isso.
Recursos de alta disponibilidade, como o Always ON, são essenciais nos dias de hoje, mas é preciso balancear as configurações com um nível de performance satisfatório no seu banco de dados. Nesta aula você vai saber como fazer isso.
Ao fazer o tracking dos dados em algumas tabelas, é bom seguir umas recomendações e boas práticas visando uma melhor performance dessa feature e é isso que vamos ver juntos nessa aula.
O Query Store é uma ferramenta fantástica para diagnóstico de problemas de performance nas suas queries e com elas podemos focar nossos esforços num database específico. Vamos ver juntos nesta aula como utilizá-la e tirar o melhor proveito dela.
Queries parametrizadas costumam oferecer melhor performance que as não parametrizadas. Nesta aula vamos trabalhar na parametrização de algumas queries e analisar seus ganhos de performance.
Nesta aula, vamos ver como a forma como o modo de compatibilidade do seu banco de dados está configurado pode impactar no comportamento do Query Optimizer quanto a estimativa de cardinalidade e degradar a performance. E claro, como melhorar isso!
Índices são inputs fundamentais para que o SQL Optimizer consiga escolher o melhor caminho no acesso a dados, que balanceie performance e custo. Nesta aula vamos destrinchar e te mostrar tudo o que você precisa saber para projetar e corrigir índices buscando a peformance máxima de suas queries.
Tabelas particionadas podem ser um grande recurso na otimização da performance no acesso aos dados que mais importam para nossa aplicação. Nesta aula vamos discutir sobre as melhores estratégias para aplicá-la, além de aprender sobre suas vantagens e limitações.
A memória é que há de mais rápido, uma tecnologia que ainda nos dias de hoje, portanto deve ser explorada sempre que possível. Por isso mesmo, no ambiente corporativo, costumamos criar tabelas em memória para nossos processos mais críticos em termos de performance, e é isto que você vai aprender nesta aula.
Triggers fornecem uma camada de lógica de aplicação bastante flexível e por isso mesmo, podendo ser muito complexa. E como toda complexidade tem seu custo, nesta aula vou te dar dicas para otimizar ao máximo a utilização de suas triggers, e assim diminuir o impacto nas suas transações.
O Change Data Capture pode ser utilizado para se criar pipeline de dados, mas é importante aplicar boas práticas no seu desenvolvimento e implementação para permitir que o processo tenha o menor impacto possível na performance, e é isto que você vai aprender nesta aula.
Nesta aula você vai aprender como tirar vantagem da compressão de dados para obter melhor performance no acesso aos seus bancos de dados SQL Server.
As configurações no cliente, quanto a aplicação em si, rede, entre outros, podem afetar e muito a performance da aplicação quanto ao acesso ao banco de dados. Veja neste vídeo os cenários mais comuns que ocorrem e como corrigí-los
O baseline é uma ferramenta chave no entendimento do problema de performance de um sistema. Nesta aula você vai aprender como gerar baselines e como analisá-los, no intuito de isolar o problema de performance.
O Performance Monitor nos provê muitos contadores especializados do SQL Server, além de outros extremamente úteis na análise de problemas de performance nos discos, memória, CPU, rede, entre outros. Nesta aula vamos aprender como configurar uma sessão de monitoramento de performance no SQL Server, cobrindo os vários dos principais contadores.
O Event Viewer, no Windows, costuma gerar logs importantes relacionados ao SQL Server, os quais podemos não ter visibilidade em outros Logs, como o do SQL Server. Dessa forma, é importante aprender a filtrá-lo e analisar os tipos de mensagens que lá encontramos e que podem dar pistas valiosas pra nos ajudar a corrigir problemas de instabilidade na performance do nosso banco de dados.
O SQL Server error log pode ser um grande aliado no diagnóstico de problemas de performance. Nesta aula vamos explorar todos os detalhes desse importante recurso de log de eventos exclusivos do SQL Server colocados a nossa disposição.
O monitoramento de performance dos comandos SQL não precisa necessariamente ser feito através de queries e scripts. Nesta aula vamos explorar o Activity Monitor e aprender com dicas especiais sobre como descobrir detallhes dos processos que mais consomem os principais recursos de nosso servidor, como CPU, memória e IO.
Existem muitos relatórios de performance no SQL Server, prontos para serem utilizados e que nos dão insights importantes sobre a performance do nosso banco de dados, tanto em tempo real como valores históricos. Vamos explorá-los com detalhes nesta aula.
Aprenda nesta aula como capturar em tempo real todas as queries que mais custam em termos de tempo e recursos para o seu sistema, focando assim no que mais importa na melhoria de performance do seu banco de dados
Que tal um monitoramento de performance rico em coleta de dados e eventos e ao mesmo tempo leve, com impacto mínimo no seu banco de dados? Vamos abordar isso nesta aula.
Transações rápidas e seguras são uma mistura de conceitos, técnica e arte, e nesta aula vamos aprender como mesclar isso ao utilizar modos de isolamento de transações certas nos momentos certos e sempre com um olho na performance do banco de dados.
Entender os conceitos de Locking no SQL Server é essencial para poder criar e corrigir queries que bloqueiem recursos de forma mais breve possível, liberando assim mais recursos para aumentar a escalabilidade do seu sistema ao mesmo tempo em que mantem uma boa performance, e é isto que você vai aprender nesta aula.
Blocking são eventos comuns em bancos de dados com alta concorrência de acesso, nesta aula você vai aprender como lidar com eles e como otimizar suas queries para que eventos de blocking eliminados ou ao menos minimizados em termos de duração, o que vai turbinar a performance geral do sistema.
Veja nesta aula como uma rotina de manutenção periódica e automatizada pode manter a consistência e integridades dos seus índices, e em consequência, manter uma boa performance
Índices, especialmente em sistemas majoritariamente OLTP, se fragmentam, e isso tem custo no processamento de seus dados gerando lentidão no seu banco de dados, caso esse nível de fragmentação for elevado demais. Veja como identificar e corrigir esse problema nesta aula.
O Plano de Execução é o mapa da mina no acesso rápido e otimizado aos dados! Veja nesta aula os principais operadores do plano de execução e sobre como otimizá-los de forma a obter uma melhor performance de suas queries
Tão importante quando seu banco de dados, é o backup deles, sem dúvida. Mas é preciso pensar sua estratégia de backup de forma a conciliar as políticas de proteção de dados da sua empresa e a performance de seu banco de dados, já que mesmo as rotinas de backup tem seu custo. Veja neste vídeo como encontrar uma solução bem balanceada neste sentido.
Muitas vezes, o problema de performance parece estar no seu banco de dados, quando na verdade pode estar ligado a uma ou várias fontes de dados externa que é acessado através dele. Vamos ver como identificar isso e também te dar dicas de tunning dessas fontes de dados.
Fazer tunning de algumas queries é possível, mas e quando temos sistemas complexos gerando centenas de transações e consultas? Fazer isso manualmente não é produtivo, então vou lhe ensinar nesta aula como otimizar seu tempo e efetividade na análise de performance, com apenas alguns clicks.
O melhor momento de resolver problemas de performance nas suas queries é no design/criação delas, o que vai lhe poupar de muitas dores de cabeça no futuro. Por isso, tem boas práticas de desenvolvimento que vou compartilhar com você nesta aula.
"Desculpe senhora, o sistema está lento..."
Quantas vezes você já entrou numa loja e ouviu a atendente lhe dizer isso, com uma cara de frustração e cansaço?
Os problemas de performance costumam ser um dos mais negligenciados nos sistemas corporativos, e isto tem uma razão: com pouca mão de obra, as empresas preferem procrastinar, já que, bem ou mau, o sistema está rodando... mas performance piora com o tempo, se não fizermos nada, assim como a desolação dos usuários...
Nos dias atuais, não é suficiente que uma boa aplicação, que se conecta a um banco de dados, realize o que se espera dela, na consulta e alteração dos dados.
É imperativo que essas operações realizadas pela aplicação sejam feitas dentro de um tempo aceitável, de forma a garantir uma experiência agradável dos usuários ao utilizá-lo.
Esse tempo aceitável tem tudo a ver com performance, muitas vezes negligenciada nos ambientes de desenvolvimento de um sistema, sendo apenas considerada quando a aplicação foi atualizada em Produção, com os usuários gritando por não conseguirem suportar a lentidão a cada clique.
É por isso que, neste curso, você vai aprender quase TUDO o que precisa sobre performance no SQL Server, englobando desde a análise e otimização do hardware, do gerenciador de virtualização, do host virtual, da instância de banco de dados, do banco de dados, dos objetos do banco de dados, das queries e transações que os acessam e por fim, o monitoramento e manutenção da performance... UFA!
Especialmente para você, que já trabalha com a linguagem SQL no acesso ao SQL Server, este curso vai te ajudar a não ficar dependendo do DBA para apontar os problemas de performance.
Ao contrário disso, vou te dar conhecimento e confiança para agir de forma independente quanto aos ajustes de performance no seu ambiente, e para poder discutir correções e melhorias de performance a serem aplicadas desde as fases iniciais do projeto até depois que ele estiver em produção!
Vou acompanhar você, no passo a passo, sobre a aplicação de cada feature (recurso) do SQL Server, no nosso laboratório, testando e discutindo sobre os resultados, comparando cenários, mostrando vantagens, limitações, e muitas dicas que a experiência me ensinou nesses quase 20 anos administrando databases em empresas públicas e privadas, sendo 9 anos no Canadá.
E aí, que tal embarcar nessa viagem comigo?