recursos de gerenciamento de sql server wandenkolk t. neto consultor mcs microsoft brasil...
TRANSCRIPT
Recursos de Gerenciamento de SQL Server
Wandenkolk T. Neto Consultor MCS Microsoft Brasil [email protected]
Objetivos
Como tornar a sua vida mais fácil com relação ao gerenciamento de SQL Server 2008 R2 e Denali para situações de alto volume e otimizações
Quais os próximos passos... O que mais há lá fora de interessante para novos projetos com SQL Server
AgendaSQL 2008 R2
Multi Core Suporte melhorado Unicode Compression Data Tier Applications VirtualizaçãoData Center Edition …
Denali Management Studio Debugger Distributed Replay Contained Databases …
Multi Core Suporte (2008 R2)
Suporte a até 256 processadores lógicos rodando em Windows 2008 R2 Suporte a até 15K Partições, também suportado em SQL Server 2008 SP2
exec sp_db_increased_partitions'<database-name>','ON'
Como tirar proveito ? Paralelismo intra-query (famoso MAXDOP hint) Espalhando o backup em multiplos discos, cria-se multiplas threadsDistribuição de arquivos do banco, tempdb etc em multiplos discos
Unicode Compression Entenda data compression primeiro
SPARSE columns : A idéia é comprimir dados nulos, para cada nulo, gasta-se um espaço para dizer ao sql server que aquela posição é nula ROW Compression PAGE Compression – Método mais eficiente, comprime o dado no nível de página
Unicode Compression – SCSU (Standard compression scheme for Unicode)
Ativada compressão especifica para unicode em ROW ou Page Compression (preferencialmente PAGE compression) Avalie o beneficio da compressão com sp_estimate_data_compression_savings Não aplicável a nvarchar(max)Na prática a mudança ocorre sob o capô, o sql server define automaticamente o algorítmo apropriado para a compressão
Demo Compressão
Data Tier ApplicationPacote de instalação
Schema Logins Outros Elementos
Mapa da Mina Extraír o Data Tier Application, criando um DACPAC em desenvolvimento/homologação De posse do DACPAC, pode se importá-lo em produção bem como compará-lo com o schema de um outro database ja operando
DACPAC contém apenas schema e a criação de demais objetos. Não contem dados. Ferramentas para o gerenciamento de Dacpacs (importaçao exportacao com inclusão de dados) DACImportExportClient
Deploy
Upgrade
Import
Build
Extract
Export
DACPAC
DAC database
model
Data Center Edition
Suporte melhorado a virtualizaçãoEspecifico para ambientes de missão críticaAté 256 ProcessadoresSuporta o máximo de memória suportado pelo OSUtility Control Point – Monitoramento das instancias sql server listadas
Virtualização
MAP toolkit – ferramenta que permite o assesment de migração do ambiente real para virtualizado (http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=7826)Fique atento com a segurança, o MAP faz scan da rede, e isso pode ser um ponto de atenção para os administradores de rede SQL Server 2008 R2 e Denali são otimizados para rodar em ambiente Virtualizado com Hyper-V (fine tuning)
Denali
High Availability
SQL Server AlwaysOn
Security & Manageability
User-Defined Server Roles
Web & Breadth
PHP Driver
Scalability & Performance
Distributed Replay
Application Centric Failover
Contained Database Authentication
Local DBRuntime
Fast FILESTREAM
UTF-16
ActiveSecondaries
Fast Full-Text Search
Reliable, Integrated Failover Detection
Database Recovery Advisor
Audit Enhancements
Paging for result sets
Column Store Index, “Apollo”
HA for StreamInsight
Management Pack for High Availability
JDBC 4.0 driver
Active Directory w/ SharePoint for SSRS
Default Schema for Windows Group
Windows Server Core Support
Dev & Beyond
Relational
FileTable
Microsoft Project “Juneau”
Online Operations
Win32 Access to Database files
Semantic Search with FT
Full Globe Spatial Support
DAC Enhancements
T-SQL & CLR enhancement
Fast Spatial Performance
Hybrid Applications with SQL Azure
Up to 15K Partitions/Table
EIM
SSIS Server
Business Intelligence
Unified Semantic Model
Crescent Data Quality
Alerting
Enhanced MDSIn-memory BI for corporate
PowerPivot Enhancements
Reporting as SharePoint Shared Service
DBC & OLTP Appliances/RAs
MDS add-in for Excel
ODBC for Linux
Instalação
Suporte à instalação em Server Core SP1Menor footprintMenos patchesMais leve em sistemas de menor capacidadeSuporta apenas instalações via linha de comando
Update Enabled Update Source
Server Core
Features restritasApenas Database Engine, Analisys Services, Full Text e Integration Server são suportadosPre-requisitos
Windows Server 2008 SP1 .NET Framework 4 Server Core
Command line
setup.exe /qs /ACTION=Install /FEATURES=SQLEngine /INSTANCENAME=MSSQLSERVER /IAcceptSQLServerLicenseTerms ...
Management Studio
Baseado em WPF Suporte a multiplos monitores Mais atalhos de teclado
Debugger Melhorado Watch / Quick Watch Data Tip Permite debug de SQL 2005 SP2 ou superior
Replay
Capturar atividade do SQLServer via Profiler e Repetir a atividade contra um server alvo para testes de stress
Distributed Replay
Permite Executar o mesmo replay com o profiler distribuido entre multiplos clients contra o mesmo server
ComponentesControllerClients – até 16Target – server a ser testado
Controller
Client
Client
Client
Client
Servidor Alvo
Dispatch
Como funciona ?
Instalar o Controller e Client para Distributed Replay em conjunto com o client tools do SQL Server (pré-requisito) 2.Capturar o Workload como se fosse executar o replay via profiler 3.Pré-processar o arquivo dreplay preprocess -m SERVER1 -i c:\replay\replay.trc -d C:\replay\work\
-m – controller-I – arquivo de input a ser consumido-d – diretório onde o dispatch será gerado
Executar o Replay
Dreplay replay -m SERVER1.denali.lab -d C:\Replay\Work\ -s SERVER3\SQLC -w SERVER1.denali.lab
- m – servidor controller-d – working folder com o dispatch file-s – servidor target-w – servidores client
* ferramentas localizadas em c:\Program Files(x86)\Microsoft SQL Server\110\Tools\Binn
Contained DatabasesProblema:
Mover bancos de dados entre servers, espcecialmente em cenários com alto número de bancos de dados, e alta criticidade para aplicações;
•Impactos Mover databases entre servers é trabalhoso Depende do dba acertar detalhes de segurança – logins com users Precisa-se mapear todas as dependencias que o database possui para funcionar E sempre durante qualquer movimentação uma depencia não mapeada aparece
Contained Databases Feature do Denali que permite que um db seja até certo ponto indepentente do server onde está localizado. Ainda implementado parcialmente ou seja, a feature atual endereça aspectos fundamentais, mas não todos
Contained Databases
Opções de Containment None Partially Contained Fully Contained
Application Model
Todos os objetos que estão no âmbito da aplicação: Database system catalog views (sys.objects... ) Data Types T-SQL Criação de Objetos Direitos / Permissões SETs Funções built-in Stored procedures de usuário DBCC
Management Model (non-contained)
Server Catalog Views (sys.databases) Compatilbility views (sysobjects, sysdatabases....) Alguns CREATE/ DROP/ ALTER FILESTREAM
até porque acessa recursos externos, no caso o share com o blob
Change Data Capture Server trace procedures Linked Server Full Text Search
Tabelas Temporárias
Tabelas locais dentro de um partially contained são permitidas Objetos dentro de um modelo partially contained podem ser mapeados com sys.dm_db_uncontained_entities Tabelas temporárias não podem usar constraints nomeadas Tabelas temporárias não podem usar User Defined Types, User Defined Functions ou XML Schema Collection
Contained Users-- Habilitar a autenticaçãoUse masterExec sp_configure ‘show advenced options’, 1 Reconfigure
Exec sp_configure ‘contained database authentication’, 1Reconfigure
Use master ALTER Database [adventureworks2008r2] set containment = partial
USE [AdventureWorks2008R2] GO CREATE USER [teste] WITH PASSWORD=N'p@ssw0rd1', DEFAULT_LANGUAGE=[Brazilian], DEFAULT_SCHEMA=[dbo] GO USE [AdventureWorks2008R2] GO ALTER ROLE [db_owner] ADD MEMBER [teste] GO
Segurança em Contained databases
Db_owners ou db_security admin tem automaticamente permissão de logar na instancia uma vez que o db tenha containment partial; Acesso a outros banco é permitido pelo usuário guest. Sem guest sem acesso Contained users tem senhas atribuidas a eles; AUTO_CLOSE sempre desligado; Master não pode ser contained Funciona com compatibility levels inferiores (90 – sql 2005 / 100 - 2008) Um banco em partial pode ser enviado de volta para none - Desde que caracteristicas especificas de contained databases sejam removidas (users com password por exemplo)
User Defined Server Roles
Novos server roles Permissoes aplicadas a:
Endpoints Logins Servers Availability Groups ( Servidor virtual do Always on) Server Roles
USE [master] GO CREATE SERVER ROLE [test_role] GO use [master] GO GRANT ALTER ANY DATABASE TO [test_role] WITH GRANT OPTION GO use [master] GO GRANT ADMINISTER BULK OPERATIONS TO [test_role] GO
Outras Novidades
Download de patches antes da instalação!Suporte a cluster georgráfico com multiplas subredes Suporte a mountpoints montados em discos locais em clusterAlways On
Mirror com suporte a virtual servers, como um cluster Redundancia de Data Center com logshipping integrado ao Always On
Recursos
Microsoft SQL Server website http://www.microsoft.com/SQL SQL Server Customer Advisory Team http://www.sqlcat.com Documentação do SQL Server Denali no MSDN http://msdn.microsoft.com/en-us/library/bb418432(v=SQL.10).aspx