Versão:
2005
Público:
Desenvolvedores de aplicações; Analistas de sistemas; Desenvolvedores e projetistas de sistemas; Analistas de suporte técnico; Programadores em geral; Administradores de Banco de Dados; DBAs
Pré-requisitos obrigatórios:
Familiaridade com conceitos e técnicas de processamento de dados SSI Introdução ao SQL Server SSA- Administração do SQL Server
Pré-requisitos recomendados:
Conhecimentos do Sistema Operacional Windows 2000
Objetivos:
Este curso tem como objetivo mostrar ao participante como desenvolver procedimentos e funções , gatilhos (triggers) , armazenando-os dentro do banco de dados SQL Server. Ao término do curso, o participante poderá aplicar as técnicas disponíveis dentro da extensão TRANSACT-SQL do Banco de Dados SQLServer, desenvolvendo aplicações poderosas do tipo CLIENT/SERVER. Este curso também permitirá aos participantes ajustar o desempenho de aplicações sobre o banco de dados SQL Server, usando técnicas avançadas de apuração de desempenho.O aluno irá aprender a identificar pontos críticos de codificação e de uso do banco de dados SQL Server e formas e métodos de contornar e evitar estas situações e problemas.
Conteúdo programático
Introdução
Conhecendo o Modelo de Otimização de Performance Visão Geral
Medindo a Performance dos Bancos de Dados Importância do BenchMarking Medidas Chaves para Performance de Querys Ferramentas para Medir Performance de Querys Usando o Performance Monitor Usando o SQL Server Profiler Usando o Activity Monitor
Otimizando o Modelo de Dados Introdução Estratégias para Otimizar o Schema de Dados Normalização DesNormalização Generalização
Configuração Otimizada do Banco de Dados Considerações ao criar bancos de dados Usando Filegroups para Performance
Entendendo a Otimização de Consultas Introdução Como funciona o fluxo lógico da Query? Como o Otimizador de Consultas funciona Visualizando o Plano de Execução
Construindo Querys Eficientes Favorecer Operações em blocos (Set-Based) Testar as variações da query Limitar o uso de query hints Usar subquerys correlacionadas Evitar Funções na cláusula WHERE Usar funções que retornem tabela Evitar agrupar colunas desnecessárias (Group By) Usar expressões CASE Dividir Joins em tabelas temporárias
Boas Práticas de Otimização Otimizando Stored Procedures Otimizando Views
Considerações para usar Subquerys Quando usar Subquerys
Considerações para usar Cursor Cursores x Performance Estratégias para Substituir o uso de Cursores
Estratégia de Otimização de Indices Importância da estratégia de indexação Tipos de Indices Dicas para implementar a estratégia (Boas Praticas) Dicas para Usar Índices Clusterizados Dicas para Usar Índices Não Clusterizados Documentando a estratégia de indexação
Criando Indices Usando a ferramenta DTA Usando o SSMS ? Object Explorer Usando comandos Transact-SQL
Mantendo os Indices Tarefas de Manutenção Fragmentação de Indices Estatísticas
Gerenciando a Concorrência Importância do gerenciamento de concorrencia Níveis de isolamento das transações Estratégias para reduzir Locks e Blocks
DeadLocks O que são Deadlocks Detectando e Resolvendo Deadlocks Minimizando Deadlocks
Monitorando Performance do Servidor Metodologia Sincronizando o trace Profiler com o Sysmon Usando Views e funções Dinâmicas Usando a ferramenta SQLDiag
Resolvendo Problemas (Troubleshooting) Principais gargalos Problemas de CPU Problemas de Memória Problemas de I/O
Introdução a Alta Disponibilidade Fatores que afetam a Disponibilidade Como Aumentar a Disponibilidade
Implementando Cluster de Servidores O que é Server Clustering? Como instalar o SQL Server em Cluster
Implementando Database Mirroring O que é Database Mirroring? Opções de Configuração O que são Database Mirroring Endpoints? Preparando os servidores para Mirroring Estabelecer uma Sessão de Mirroring Procedimentos em caso de Falha
Implementando Log Shipping O que é Log Shipping? Configurando o Log Shipping Troca de Papéis dos Servidores |