Download - Workshop SQL Server 2012
![Page 1: Workshop SQL Server 2012](https://reader030.vdocuments.mx/reader030/viewer/2022012908/558e1b231a28abc95b8b45e6/html5/thumbnails/1.jpg)
Workshop SQL Server 2012
Viviane RibeiroEspecialista em Banco de Dados e [email protected]
SQL Server AlwaysONColumnStore Index
Novidades para o SSASPower Pivot e Power View
![Page 2: Workshop SQL Server 2012](https://reader030.vdocuments.mx/reader030/viewer/2022012908/558e1b231a28abc95b8b45e6/html5/thumbnails/2.jpg)
High AvailabilityAlwaysOn
![Page 3: Workshop SQL Server 2012](https://reader030.vdocuments.mx/reader030/viewer/2022012908/558e1b231a28abc95b8b45e6/html5/thumbnails/3.jpg)
Tecnologias para HA/DR Failover Clustering
(Nível Instância)
Database Mirroring(Nível de Banco de Dados)
![Page 4: Workshop SQL Server 2012](https://reader030.vdocuments.mx/reader030/viewer/2022012908/558e1b231a28abc95b8b45e6/html5/thumbnails/4.jpg)
Tecnologias para HA/DR
Log Shipping(Nível Banco de Dados)
Replicação(Nível de Banco de Dados)
![Page 5: Workshop SQL Server 2012](https://reader030.vdocuments.mx/reader030/viewer/2022012908/558e1b231a28abc95b8b45e6/html5/thumbnails/5.jpg)
Tecnologias para HA/DR
Snapshot de Banco de Dados
![Page 6: Workshop SQL Server 2012](https://reader030.vdocuments.mx/reader030/viewer/2022012908/558e1b231a28abc95b8b45e6/html5/thumbnails/6.jpg)
Definindo a Solução
Failover Clustering e Database MirroringDetecção automática de Falha e FailoverManual failoverRedirecionamento transparente do cliente
Considerações:Failover Clustering requer hardware específicoDatabase Mirroring atua no escopo de Banco de Dados
![Page 7: Workshop SQL Server 2012](https://reader030.vdocuments.mx/reader030/viewer/2022012908/558e1b231a28abc95b8b45e6/html5/thumbnails/7.jpg)
Cenário
7 |
1. Alta disponibilidade local (site principal) com failover automático.
A
A
2. Réplica do banco de dados em um terceiro servidor no site principal para execucão de relatórios.
3. Se o site principal cair, deve-se fazer failover para o site de contingência (DR).
5. Permitir a execução de backup no terceiro servidor do site principal.
Site Principal
Site Contingência(DR)
4. Para reduzir custo, replicação entre storage não é uma opção.
Movimentação de dados Síncrona
Movimentação de dados Assíncrona
Backups
Relatórios
A
Failover Clustering
DB Mirroring
Log Shipping
![Page 8: Workshop SQL Server 2012](https://reader030.vdocuments.mx/reader030/viewer/2022012908/558e1b231a28abc95b8b45e6/html5/thumbnails/8.jpg)
Alta Disponibilidade Hoje
Failover Clustering (FC) Requer uma storage compartilhada Não permite nó secundário ativo (leitura ou backup) Para disaster recovery (DR)
Requer replicação síncrona entre storages ou uma combinação de FC com Database Mirroring ou Log Shipping
8 |
Database Mirroring Failover automático: requer SNAC ou o parâmetro
FailoverPartner na string de conexão, Witness Não permite conexão dos sistemas utilizando nome virtual É possível leitura no secundário utilizando database
snapshot no mirror
![Page 9: Workshop SQL Server 2012](https://reader030.vdocuments.mx/reader030/viewer/2022012908/558e1b231a28abc95b8b45e6/html5/thumbnails/9.jpg)
Alta Disponibilidade hoje
Log Shipping Não permite failover automático Nós secundários offline (não permite leitura nos secundários) Failover manual no nível de banco de dados
9 |
![Page 10: Workshop SQL Server 2012](https://reader030.vdocuments.mx/reader030/viewer/2022012908/558e1b231a28abc95b8b45e6/html5/thumbnails/10.jpg)
SQL Server AlwaysOn
10 |
Multisite Clustering através de subnets
Política de Failover Flexível
Windows Server Core TEMPDB em disco local
Failover de múltiplos bancos de dados
Múltiplos servidores secundários
Sevidores secundários ativos Gerenciamento integrado
através de um Dashboard Suporte a nome e IP virtual
AlwaysOn Availability Groupsproteção no nível de banco de dados
AlwaysOn Failover Cluster Instancesproteção no nível de instância
Novas soluções com AlwaysOn
![Page 11: Workshop SQL Server 2012](https://reader030.vdocuments.mx/reader030/viewer/2022012908/558e1b231a28abc95b8b45e6/html5/thumbnails/11.jpg)
AlwaysOn Availability Groups
11 |
Availability Groups fornece alta disponibilidade e disaster recovery no nível de banco de dados combinando database mirroring e log shipping
Failover de múltiplos bancos de dados
Múltiplos secundários Total de 4 secundários 2 síncronos
1 par com failover automático 2 assíncronos
Compressão e criptografia integrada
Failover automático e manual Política de failover flexível Recuperação de páginas
automático
Servidores secundários ativos Leitura nos secundários Backup nos secundários
Redirecionamento automático da aplicação utilizando nome virtual
Configuração utilizando Wizard
Dashboard Integrado Integração com System
Center Automação via power-shell
Integração e eficiênciaFlexibilidade
![Page 12: Workshop SQL Server 2012](https://reader030.vdocuments.mx/reader030/viewer/2022012908/558e1b231a28abc95b8b45e6/html5/thumbnails/12.jpg)
Availability Groups - Arquitetura
12 |
Windows Server Failover Cluster (WSFC)
Sincronização de Log Sincronização de Log
InstânciaA InstânciaB InstânciaC
Primário Secundário
As instâncias do SQL Server não
são clusterizadas
Secundário
AA A
Detecção da saúde entre os nós, Coordenação do Failover, Armazenamento distribuído dos dados de configuração e status do
Availability Group Notificações distribuída das alterações
Availability Group usa WSFC para:
![Page 13: Workshop SQL Server 2012](https://reader030.vdocuments.mx/reader030/viewer/2022012908/558e1b231a28abc95b8b45e6/html5/thumbnails/13.jpg)
Suporte a Nome e IP Virtual
26/11/2011 | Footer Goes Here13 |
“Availability Groups Listener”: permite o failover transparente das aplicações para qualquer dos nós secundários As aplicações se conectam utilizando um IP e nome
virtual
Primário Secundário
-server VAG_RH;-catalog DB_RH
As aplicações tentam reconexão durante o failover
A conexão é reestabelecida com o novo primário assim que o failover é concluído e o nome virtual ficar online
Primário SecundárioSecundário
InstânciaA InstânciaB InstânciaC
DB_RH DB_RHDB_RH
Secundário
AG_RH
VAG_RH
![Page 14: Workshop SQL Server 2012](https://reader030.vdocuments.mx/reader030/viewer/2022012908/558e1b231a28abc95b8b45e6/html5/thumbnails/14.jpg)
Resumo
26/11/2011 |14 |
SQL Server AlwaysOn é uma solução de alta
disponibilidade com muito mais abrangência
Maior disponibilidade para as aplicações Maior retorno sobre o investimento Simplicidade para implementação e gerenciamento Atende a pequenos médios e grandes ambientes Baixo custo (reaproveitamento de hardware)
Maior flexibilidade e eficiência na configuração
de alta disponibilidade com AlwaysOn
Availability Group
SQL Server AlwaysOn Availability Group
Failover para múltiplos databases Multiplos servidores secundários Servidores secundários como leitura Backup nos servidores secundários Movimentação de dados Síncrona e
Assíncrona Compressão e criptografia integrados Failover automático e manual Política de failover mais flexível Reparação de páginas automático Redirecionamento automático das
aplicações usando nome e IP virtual Configuração através de Wizard AlwaysOn Dashboard Integração com System Center Automação via power-shell Rica infraestrutura de diagnósticos
![Page 15: Workshop SQL Server 2012](https://reader030.vdocuments.mx/reader030/viewer/2022012908/558e1b231a28abc95b8b45e6/html5/thumbnails/15.jpg)
Conteúdo Relacionado
“Denali” AlwaysOn Resource Center http://msdn.microsoft.com/en-us/sqlserver/gg490638(en-us,MSDN.10)
SQL Server® Code Name “Denali” websitewww.microsoft.com/sqlserver
Download do Denali CPT3Documentação
What's New topic for Availability Enhancements on MSDN
http://msdn.microsoft.com/en-us/library/cc645581(v=SQL.110).aspx
SQL Server Denali (CTP 3) Product Guide v1.0http://www.microsoft.com/download/en/details.aspx?id=27069
![Page 16: Workshop SQL Server 2012](https://reader030.vdocuments.mx/reader030/viewer/2022012908/558e1b231a28abc95b8b45e6/html5/thumbnails/16.jpg)
PerformanceColumnIndex Store
![Page 17: Workshop SQL Server 2012](https://reader030.vdocuments.mx/reader030/viewer/2022012908/558e1b231a28abc95b8b45e6/html5/thumbnails/17.jpg)
Projeto Apollo
Otimiza as consultas ao data warehouse Novo columnstore index Melhora a execução de consultas query execution
Fácil de Usar Reduz TCO
![Page 18: Workshop SQL Server 2012](https://reader030.vdocuments.mx/reader030/viewer/2022012908/558e1b231a28abc95b8b45e6/html5/thumbnails/18.jpg)
Data warehouse schemas and queries
Star schema Tabelas Fato coloque columnstore indexes aqui Tabelas Dimensão
Star joins Consultas que contém agregações de dados
![Page 19: Workshop SQL Server 2012](https://reader030.vdocuments.mx/reader030/viewer/2022012908/558e1b231a28abc95b8b45e6/html5/thumbnails/19.jpg)
Star schemaFactSales
DimCustomer
FactSales(CustomerKey int, ProductKey int,EmployeeKey int,StoreKey int,OrderDateKey int,SalesAmount money)
DimCustomer(CustomerKey int,FirstName nvarchar(50),LastName nvarchar(50),Birthdate date,EmailAddress nvarchar(50))
DimProduct …
DimDate
DimEmployee
DimStore
![Page 20: Workshop SQL Server 2012](https://reader030.vdocuments.mx/reader030/viewer/2022012908/558e1b231a28abc95b8b45e6/html5/thumbnails/20.jpg)
Star join query
SELECT TOP 10 p.ModelName, p.EnglishDescription, SUM(f.SalesAmount) as SalesAmountFROM FactResellerSalesPart f, DimProduct p, DimEmployee eWHERE f.ProductKey=p.ProductKey AND e.EmployeeKey=f.EmployeeKey AND f.OrderDateKey >= 20030601 AND p.ProductLine = 'M' -- Mountain AND p.ModelName LIKE '%Frame%' AND e.SalesTerritoryKey = 1 GROUP BY p.ModelName, p.EnglishDescriptionORDER BY SUM(f.SalesAmount) desc;
![Page 21: Workshop SQL Server 2012](https://reader030.vdocuments.mx/reader030/viewer/2022012908/558e1b231a28abc95b8b45e6/html5/thumbnails/21.jpg)
Estrutura
Uses VertiPaq compression
C1 C2 C3 C5 C6C4
…
Pages
Row store:
Column store:
![Page 22: Workshop SQL Server 2012](https://reader030.vdocuments.mx/reader030/viewer/2022012908/558e1b231a28abc95b8b45e6/html5/thumbnails/22.jpg)
Menos I/O usando columnstore indexes
• Busca apenas as colunas necessárias no disco
• Colunas são compactadas• Reduz IO
C1
C2
C4 C5 C6
C3
SELECT region, sum (sales) …
![Page 23: Workshop SQL Server 2012](https://reader030.vdocuments.mx/reader030/viewer/2022012908/558e1b231a28abc95b8b45e6/html5/thumbnails/23.jpg)
Considerações
• Tabela base deve ter um indíce clustered B-tree or heap
• Columnstore index:− nonclustered − Um por tabela− Deve ser partition-aligned− Não permitido em indexed view
![Page 24: Workshop SQL Server 2012](https://reader030.vdocuments.mx/reader030/viewer/2022012908/558e1b231a28abc95b8b45e6/html5/thumbnails/24.jpg)
Criando o Columnstore Index
Crie a Tabela Carregue os dados dentro da Tabela Crie um non-clustered Columnstore index em
todas, ou algumas colunasCREATE NONCLUSTERED COLUMNSTORE INDEX ncci ON myTable(OrderDate, ProductID, SaleAmount)
Object Explorer
![Page 25: Workshop SQL Server 2012](https://reader030.vdocuments.mx/reader030/viewer/2022012908/558e1b231a28abc95b8b45e6/html5/thumbnails/25.jpg)
Criando o Columnstore Index
![Page 26: Workshop SQL Server 2012](https://reader030.vdocuments.mx/reader030/viewer/2022012908/558e1b231a28abc95b8b45e6/html5/thumbnails/26.jpg)
Usando hints com columnstore indexes• Use o columnstore index
• Use um indíce diferente
• Ignore columnstore
select distinct (SalesTerritoryKey)from dbo.FactResellerSales with (index (ci))
select distinct (SalesTerritoryKey)from dbo.FactResellerSales with (index (ncci))
select distinct (SalesTerritoryKey)from dbo.FactResellerSalesoption(ignore_nonclustered_columnstore_index)
![Page 27: Workshop SQL Server 2012](https://reader030.vdocuments.mx/reader030/viewer/2022012908/558e1b231a28abc95b8b45e6/html5/thumbnails/27.jpg)
Novos elementos no Showplan
![Page 28: Workshop SQL Server 2012](https://reader030.vdocuments.mx/reader030/viewer/2022012908/558e1b231a28abc95b8b45e6/html5/thumbnails/28.jpg)
Restrições – Tipos de Dados
−Tipos não suportados− decimal > 18 digits− Binary− BLOB− (n)varchar(max)− Uniqueidentifier− Date/time types > 8 bytes− CLR
![Page 29: Workshop SQL Server 2012](https://reader030.vdocuments.mx/reader030/viewer/2022012908/558e1b231a28abc95b8b45e6/html5/thumbnails/29.jpg)
Carregando Novos Dados em um columnstore index
− Columnstore deixa a tabela read-only− Partition switching é permitido− INSERT, UPDATE, DELETE, and MERGE não são permitidos− Dois métodos recomendados para Carga de Dados:
Disable, update, rebuild Partition switching
![Page 30: Workshop SQL Server 2012](https://reader030.vdocuments.mx/reader030/viewer/2022012908/558e1b231a28abc95b8b45e6/html5/thumbnails/30.jpg)
Adicionando Dados na Tabela com
Columnstore IndexMétodo 1: Desabilitar o columnstore index
Desabilitar (ou excluir) o indíce ALTER INDEX my_index ON MyTable DISABLE
Atualize a Tabela Recontrua o Columnstore index
ALTER INDEX my_index ON MyTable REBUILD
![Page 31: Workshop SQL Server 2012](https://reader030.vdocuments.mx/reader030/viewer/2022012908/558e1b231a28abc95b8b45e6/html5/thumbnails/31.jpg)
Método 2: Use Particionamento
Carregue os novos dados dentro de uma staging table
Construa o columnstore index CREATE NONCLUSTERED COLUMNSTORE INDEX my_index ON
StagingT(OrderDate, ProductID, SaleAmount) Faça o Split para Partição vazia Faça o Switch da partição para dentro da tabela
ALTER TABLE StagingT SWITCH TO T PARTITION 5
Adicionando Dados na Tabela com
Columnstore Index
![Page 32: Workshop SQL Server 2012](https://reader030.vdocuments.mx/reader030/viewer/2022012908/558e1b231a28abc95b8b45e6/html5/thumbnails/32.jpg)
Quando criar um Columnstore index
Maior parte do Workload Read-only Workflow permite particionamento ou recriação do
índice Queries com agregações de uma grande
quantidade de dados
![Page 33: Workshop SQL Server 2012](https://reader030.vdocuments.mx/reader030/viewer/2022012908/558e1b231a28abc95b8b45e6/html5/thumbnails/33.jpg)
Quais tabelas devem ter Columnstore index? Tabelas Fato Grandes (Talvez) Grandes Dimensões
![Page 34: Workshop SQL Server 2012](https://reader030.vdocuments.mx/reader030/viewer/2022012908/558e1b231a28abc95b8b45e6/html5/thumbnails/34.jpg)
Quando não utilizar um Columnstore Index
Atualizações Frequentes na tabela Partition switching ou rebuilding index não seja
possível como parte do workflow Frequente pequenas consultas look up
Neste caso Indíce B-tree traz uma melhor performance
![Page 35: Workshop SQL Server 2012](https://reader030.vdocuments.mx/reader030/viewer/2022012908/558e1b231a28abc95b8b45e6/html5/thumbnails/35.jpg)
Resumo
Astonishing speedup for DW queries
Columnstore technology+
Advanced query processing
![Page 36: Workshop SQL Server 2012](https://reader030.vdocuments.mx/reader030/viewer/2022012908/558e1b231a28abc95b8b45e6/html5/thumbnails/36.jpg)
Business IntelligenceO que há de Novo no SSAS
![Page 37: Workshop SQL Server 2012](https://reader030.vdocuments.mx/reader030/viewer/2022012908/558e1b231a28abc95b8b45e6/html5/thumbnails/37.jpg)
BI Semantic Model
Client Tools Analytics, Reports, Scorecards,
Dashboards, Custom Apps
Data SourcesDatabases, LOB Applications, OData Feeds,
Spreadsheets, Text Files
BI Semantic Model
Data model
Business logic and queries
Data accessBI na
EquipePowerPivot for SharePoint
BI PessoalPowerPivot for Excel
BI CorporativoAnalysis Services
Um Modelo para todas as Experiências do Usuário final
![Page 38: Workshop SQL Server 2012](https://reader030.vdocuments.mx/reader030/viewer/2022012908/558e1b231a28abc95b8b45e6/html5/thumbnails/38.jpg)
BI Semantic Model - Arquitetura
![Page 39: Workshop SQL Server 2012](https://reader030.vdocuments.mx/reader030/viewer/2022012908/558e1b231a28abc95b8b45e6/html5/thumbnails/39.jpg)
3 Tipos de Instalação:
Multidimensional and Data Mining (default) PowerPivot for Sharepoint Tabular
![Page 40: Workshop SQL Server 2012](https://reader030.vdocuments.mx/reader030/viewer/2022012908/558e1b231a28abc95b8b45e6/html5/thumbnails/40.jpg)
demo
Usuário Avançado de Excel
Construindo modelos usando PowerPivot
![Page 41: Workshop SQL Server 2012](https://reader030.vdocuments.mx/reader030/viewer/2022012908/558e1b231a28abc95b8b45e6/html5/thumbnails/41.jpg)
demo
Profissional de TI
Restaurando Modelos no SSMS
![Page 42: Workshop SQL Server 2012](https://reader030.vdocuments.mx/reader030/viewer/2022012908/558e1b231a28abc95b8b45e6/html5/thumbnails/42.jpg)
demo
Profissional de BI
Construindo Modelos no BIDS
![Page 43: Workshop SQL Server 2012](https://reader030.vdocuments.mx/reader030/viewer/2022012908/558e1b231a28abc95b8b45e6/html5/thumbnails/43.jpg)
BI Semantic Model - Upgrade
![Page 44: Workshop SQL Server 2012](https://reader030.vdocuments.mx/reader030/viewer/2022012908/558e1b231a28abc95b8b45e6/html5/thumbnails/44.jpg)
Perguntas?
• Learning Hub BI: http://technet.microsoft.com/pt-br/hh318524
• Learning Hub Banco de Dados: http://technet.microsoft.com/pt-br/hh210186
• Blog: http://vivianeribeiro1.wordpress.com• Twitter: @viviane_sql
50 |
![Page 45: Workshop SQL Server 2012](https://reader030.vdocuments.mx/reader030/viewer/2022012908/558e1b231a28abc95b8b45e6/html5/thumbnails/45.jpg)
© 2011 Microsoft Corporation. Todos os direitos reservados.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.