Simulando Fragmentação de Dados e Índices

Propaganda
Conhecendo o
Microsoft SQL Server 2012
Pedro Antonio Galvão Junior
MVP – Windows Server System – SQL Server.
Senior Database Administrator.
Software Engineer.
University Teacher.
FIT - Flextronics Institute Technology.
Universidade Uninove.
Nuvem
Nos Seus
TERMOS
Insights
Missão Crítica
e
CONFIABILIDADE
1
Os 9 itens obrigatórios
e proteção
2
5
Rápida exploração de dados
6
BI de autoatendimento
gerenciado
9
Escala sob demanda
Conformidade organizacional
Desempenho ultra-rápido
10
Rapidez
nas soluções
4
3
Tranquilidade
8
7
Dados confiáveis e consistentes
11
Produtividade otimizada
Análises e datawarehouse
escalonáveis
12
Estenda todos os dados, para
todos os lugares
Alta Disponibilidade
Escalabilidade e
Desempenho
Segurança e
Gerenciamento
Além do Relacional
Web e
Breadth
Business Intelligence
EIM
SQL Server AlwaysOn
Até 15.000 de
partições/tabela
Funções de servidor
definidas pelo usuário
Ferramentas de dados
do SQL Server
Driver PHP
Modelo semântico
unificado
Serviços de qualidade de
dados
Detecção de failover
integrada e confiável
Índice ColumnStore
Autenticação do banco de
dados contido
Acesso do Win32
a arquivos do banco de
dados
Tempo de execução
do banco de dados local
Exibição poderosa
SSIS Server
Failover voltado para a
aplicação
FILESTREAM rápido
Reprodução
distribuída
FileTable
UTF-16
BI corporativo na memória
MDS aprimorado
Múltiplos secundários
Pesquisa rápida de FullText
Aprimoramentos de
auditoria
Plataforma de pesquisa
semântica
Paginação para conjuntos
de resultados
Alertas
Suplemento MDS para
Excel
Secundários
legíveis
Despenho rápido (Spatial)
Management Pack para
alta disponibilidade
Suporte espacial global
completo
Driver JDBC 4.0
Sysprep para AS
CDC para Oracle
Operações
Online
Appliances/RAs OLTP e
DBC
Secundários de backup
Aprimoramentos no DAC
Suporte a processadores
ARM
Aprimoramentos no
PowerPivot
Alta disponibilidade para
StreamInsight
Esquma padrão para o
Windows Group
ODBC para Linux
Suporte ao Windows Server
Core.
Active Directory c/
SharePoint para SSRS
Aplicações híbridas com o
SQL Azure
Relatórios do SharePoint
Shared Service
AlwaysOn
Melhorias nas operações online
Autenticação do banco de dados contido
Secundários confiáveis
Clustering multilocal
SQL Server Express LocalDB
Suporte ao Windows Server Core.
Conectividade com Java e PHP
Índice ColumnStore
FileTable
Múltiplos secundários
Consultor de recuperação de banco de dados
Ferramentas de dados do SQL Server
Diretiva de failover flexível
Aprimoramentos no controlador de recursos
Exibição poderosa
Espacial global total
Desempenho de dados não estruturados
Modelo semântico de BI
Resiliência para auditoria
Suporte CDC a SSIS
Reprodução distribuída
Auditoria definida pelo usuário
SSMS para a Plataforma Windows Azure
Serviços de qualidade de dados
Suporte a FTS para checo e grego
Partições de 15000
Suplemento do Excel para gerenciamento de dados mestres
Desempenho de pesquisa de texto completo
Alta disponibilidade para StreamInsight
Resolução de problemas SSIS
Relatórios Ad Hoc
Alertas de relatórios
Aprimoramentos no PowerPivot
Aprimoramentos no depurador do T-SQL
Nova superfície de design SSIS
Desempenho de dados não estruturados
Aprimoramentos nos eventos estendidos
Diretor de conexão AlwaysOn
Suporte a PowerShell 2.0
Filtros para auditoria
Pesquisa semântica estatística
Esquema padrão para o Windows Group
Driver ODBC para Linux
Gerenciamento de Pacotes SSIS
Aperfeiçoamentos para T-SQL
Grupos de Disponibilidade
Suporte 2D espacial
Suporte ao Active Directory do SharePoint
SQL Audit para todas as edições
• Um índice é uma estrutura em disco associada a uma tabela ou exibição, que agiliza a
recuperação das linhas de uma tabela ou exibição.
• Um índice contém chaves criadas de uma ou mais colunas da tabela ou exibição.
• Essas chaves são armazenadas em uma estrutura (árvore B) que habilita o SQL Server a localizar
a linha ou as linhas associadas aos valores de chave de forma rápida e eficaz. Tabelas ou
exibições podem conter os seguintes tipos de índices:
• Clusterizado ou Não Clusterizados.
As tabelas e os índices são armazenados como uma coleção de páginas de 8 KB.
• As páginas de tabela e índice são contidas em uma ou
mais partições.
• Uma tabela é contida em uma ou mais partições e
cada partição contém linhas de dados em um heap ou
uma estrutura de índice clusterizado.
• As páginas de heap ou índice clusterizado são
gerenciadas em uma ou mais unidades de alocação,
dependendo dos tipos de coluna nas linhas de dados
• Os índices clusterizados classificam e armazenam as linhas de dados da tabela ou exibição com
base em seus valores de chave. Essas são as colunas incluídas na definição do índice. Pode
haver apenas um índice clusterizado por tabela, pois as linhas de dados podem ser classificadas
somente em uma única ordem.
• O único momento em que as linhas de dados de uma tabela são armazenadas na ordem de
classificação é quando a tabela contém um índice clusterizado. Se a tabela contiver um índice
clusterizado, será denominada tabela clusterizada. Se a tabela não possuir nenhum índice
clusterizado, suas linhas de dados ficarão armazenadas em uma estrutura não ordenada
denominada heap.
• Os índices não clusterizados têm uma estrutura distinta das linhas de dados. O índice não-clusterizado
contém os valores de chave de índice não clusterizado e cada entrada de valor de chave tem um ponteiro
para a linha de dados que contém o valor de chave.
• O ponteiro de uma linha de índice em um índice não clusterizado de uma linha de dados é denominado
localizador de linhas. A estrutura do localizador de linhas depende de as páginas de dados serem
armazenadas em um heap ou em uma tabela clusterizada. Para o heap, o localizador de linhas é um
ponteiro para a linha. Para a tabela clusterizada, o localizador de linhas é a chave de índice clusterizado.
• Você pode adicionar colunas não-chave ao nível folha do índice não clusterizado para ignorar os limites
de chave de índice existente, as colunas de 900 bytes e 16 chaves e executar consultas completamente
abrangidas e indexadas.
• Heap é uma tabela sem índice clusterizado. Por padrão, um heap tem um único
particionamento.
• Quando um heap tem particionamentos múltiplos, cada particionamento tem uma estrutura
de heap que contém os dados para aquele específico.
• Por exemplo, se um heap tiver quatro particionamentos, haverá quatro estruturas de heap;
uma em cada particionamento.
• O Mecanismo de banco de dados do SQL Server mantém os índices automaticamente sempre
que são realizadas operações de entrada, atualização ou exclusão nos dados subjacentes. No
decorrer do tempo, essas modificações podem fazer com que as informações do índice sejam
dispersadas pelo banco de dados (fragmentadas).
• A fragmentação ocorre quando os índices têm páginas nas quais a ordem lógica, com base no
valor de chave, não corresponde à ordem física do arquivo de dados. Índices com
fragmentação pesada podem degradar o desempenho da consulta e causar lentidão de
resposta do aplicativo.
• Você pode solucionar a fragmentação de índice reorganizando ou recriando um índice.
Programmability Enhancements (Database Engine)
http://msdn.microsoft.com/en-us/library/cc645577(v=sql.110).aspx
Techcenter do Microsoft SQL Server
http://technet.microsoft.com/pt-br/sqlserver/default.aspx
Centro de Treinamento Technet de Banco de dados
http://technet.microsoft.com/pt-br/hh210186
http://northamerica.msteched.com
www.microsoft.com/learning
http://microsoft.com/technet
http://microsoft.com/msdn
http://pedrogalvaojunior.wordpress.com
SQL Server 2012
Eval Copy
Hands-On Labs
mva
Get Certified!
@juniorgalvaomvp
Download