SETEMBRO, 2010 | SÃO PAULO CÓDIGO DA SESSÃO: DBP303 Boas práticas para upgrade do Microsoft SQL Server 2000 e 2005 para 2008 e 2008 R2 Pericles Rocha Plataforma de Dados Microsoft Agenda Reduzindo Riscos no Upgrade Visão e Tendências: por que fazer o upgrade? Cenários de Atualização In-place comparado a Side-by-side Compatibilidade de Aplicações Mudanças de Sintaxe e Níveis de Compatibilidade Upgrade Advisor e outras ferramentas Demonstração Técnicas, problemas comuns e boas práticas 4 Database Engine DTS Reporting Services, Analysis Services Visão e Tendências 5 Visão da Plataforma de Informações TI no controle Visualizações Ricas Desenvolvimento Dinâmico Plataforma de Missão Crítica Desktop & Mobile 6 Servidor & Datacenter Núvem Endereçando necessidades de negócio 7 Plataforma Abrangente 8 Agenda Reduzindo Riscos no Upgrade Visão e Tendências: por que fazer o upgrade? Cenários de Atualização In-place comparado a Side-by-side Compatibilidade de Aplicações Mudanças de Sintaxe e Níveis de Compatibilidade Upgrade Advisor e outras ferramentas Demonstração Técnicas, problemas comuns e boas práticas 9 Database Engine DTS Reporting Services, Analysis Services Cenários de Atualização Diferentes abordagens para o upgrade Processo de atualização pode tomar duas abordagens, em geral In-place: SETUP.EXE, sobrescrevendo a versão atual instalada no servidor. Abordagem é suportada, documentada e amplamente testada. Side-by-side: Instalação do SQL Server em outro servidor, ou no mesmo servidor com outro nome de instância. Coexistência entre versões diferentes do SQL Server é suportada na maioria dos casos. Processo completo envolve upgrade do servidor e análise da aplicação 10 In-Place upgrade Menor Risco, reversão complexa 2000/5 Instância SQL Server 2008/R2 Upgrade 11 In-Place upgrade Menor Risco, reversão complexa Prós Fácil, muito automatizado Geralmente é um processo rápido Pode não exigir hardware adicional Aplicativos continuam apontando para o mesmo nome de servidor e instância Upgrade de Cluster suportado na maioria dos casos Contras Controle menos granular sobre o processo de atualização Instância permanece offline durante parte da atualização Não recomendado para todos os componentes Estratégia de reversão complexa 12 In-Place upgrade Caminhos Suportados: Versão e Edição Maioria dos cenários suportados desde o SQL Server 2000 SQL Server 2000 para SQL Server 2008 R2 Upgrade de versão e de edição Ex: SQL Server 2000 Standard para SQL Server 2008 R2 Enterprise, ou Evaluation para Enterprise Algumas limitações 13 Sempre para a versão superior. Downgrade de edição não pode ser feito Upgrade de cluster SQL 2000 IA64 não é suportado SQL Server 2008 (não R2) Evaluation para SQL Server 2008 R2 não é suportado Side by Side upgrade Mais demorado, porém seguro Instância SQL Server 2000/5 Instância SQL Server 2008/R2 Compare / Verifique Verificado 14 Side by Side upgrade Mais demorado, porém seguro Prós Várias técnicas disponíveis: Detach/Attach, Backup/Restore, Copy Database Wizard, Scripts e BCP Maior controle sobre o processo de atualização, já que pode ser feito uma aplicação de cada vez Não causa downtime nas instâncias Estratégia de reversão simples Plano de upgrade mais simples Contras 15 Geralmente exige hardware adicional Não preserva o nome do servidor e da instância, portanto as aplicações precisam ser ajustadas Migração de objetos armazenados em bases de sistema (logins, jobs, etc) Preparação para o processo de upgrade Checklist para qualquer um dos cenários Inventário dos servidores escolhidos Bancos de Dados, aplicações Detalhes de versão do SQL Server e do Windows Verificar Compatibilidade: ferramentas de upgrade Verificar requisitos de sistema, mudanças nas aplicações (connection strings, etc) e no sistema operacional (versão e patches) Desenvolver e testar plano de upgrade Backup completo do sistema e dos dados 16 SQL Server 2008 para SQL Server 2008 R2 Considerações Importantes As duas versões podem coexistir, porém componentes compartilhados serão atualizados Integration Services, SQL Server Browser, SQL Server Active Directory Helper Services e SQL Server VSS Writer SQL Server Management Studio, Profiler, SQLdiag e outras ferramentas de gerenciamento Busines Intelligence Development Studio SQL Server Native Client, Client Tools Connectivity, Client Tools SDK e SQL Client Connectivity SDK SQL Server Policies, SQL Server System CLR Types SQL Server Books Online Upgrade é suportado, exceto Evaluation (2008) para versão completa (2008 R2) 17 Agenda Reduzindo Riscos no Upgrade Visão e Tendências: por que fazer o upgrade? Cenários de Atualização In-place comparado a Side-by-side Compatibilidade de Aplicações Mudanças de Sintaxe e Níveis de Compatibilidade Upgrade Advisor e outras ferramentas Demonstração Técnicas, problemas comuns e boas práticas 18 Database Engine DTS Reporting Services, Analysis Services Compatibilidade das Aplicações Comandos e Sintaxe Lista de Compatibilidades com SQL Server 2008 Funcionalidades descontinuadas (Discontinued Features) Funcionalidades obsoletas (Deprecated Features) Mudanças de funcionalidade (Breaking Changes) Mudanças de comportamento (Behavior Changes) Agrupadas por componentes e funcionalidades Database Engine, DTS, Integration Services, Reporting Services, Analysis Services, Replicação, Full-Text Search, ferramentas de gerenciamento 19 Funcionalidades Descontinuadas Discontinued Features Funcionalidades que foram descontinuadas e devem ser endereçadas ANTES do upgrade, caso estejam sendo utilizadas Reporting Services em IA64 para Windows Server 2003 ou Windows Server 2003 R2 Surface Area Configuration Tool: substituída em grande parte por Policy Based Management Algumas opções de SETUP: SKUUPGRADE SAVESYSDB Outros 20 Níveis de compatibilidade 60, 65 e 70 Funcionalidades Obsoletas Deprecated Changes Funcionalidades que se tornaram obsoletas serão removidas em versões futuras do SQL Server e devem ser evitadas Criação e manutenção de endpoints HTTP/SOAP para utilização de Web Services no SQL Server Inúmeras mudanças em DBCC, manutenção de objetos de sistema e views xp_grantlogin = CREATE LOGIN sp_indexoption = ALTER INDEX sp_lock = sys.dm_tran_locks sp_attach_db = CREATE DATABASE FOR ATTACH ... lista grande. Confira lista completa no Books Online 21 Mudanças de Funcionalidade Breaking Changes Funcionalidades que foram alteradas e precisam ser levadas em consideração, caso estejam sendo utilizadas 22 Collations Common Language Runtime (CLR), com Microsoft.SqlServer.Types atualizado. Considere atualizações no Global Assembly Cache causadas pela instalação do .NET Framework. Algumas DMVs, como sys.dm_os_sys_info, retornam colunas diferentes Mudanças pequenas em T-SQL e XQuery Veja lista completa no Books Online Mudanças de Comportamento Behaviour Changes Funcionalidades que tem um comportamento diferente de versões anteriores do SQL Server. Continuam funcionando, mas o resultado pode ser diferente Diferenças na arquitetura do optimizador Planos de Execução Resource Database não depende mais do local onde o master está instalado. Agora ele se localiza em um diretório fixo e não pode ser movido (<drive>:\Program Files\Microsoft SQL Server\MSSQL10_50.<instance_name>\Binn\.) 23 Upgrade para SQL Server 2008 R2 24 Compatibilidade das Aplicações SQL Server Upgrade Advisor Ferramenta para análise de compatibilidade. Analisa instâncias SQL Server 2000 e 2005 SSDE, DTS 2000, SSIS, SSAS, SSRS, traces SQL 2000 e 2005, scripts T-SQL. Não pode ser usada em instâncias SQL Server 7.0 Operação read-only, não intrusiva Suporta execução remota, instância default ou nomeada Gera relatórios Problemas detectados Problemas que bloqueiam a atualização Problemas que devem ser resolvidos na pré-migração Problemas que podem ser resolvidos pós atualização / migração 25 Compatibilidade das Aplicações Outras Ferramentas www.scalabilityexperts.com - Upgrade Assistant Teste da execução de T-SQL Mesmo SQL Dinâmico Detecta mudanças em Método de execução Resultados Aproveita a capacidade de rastreamento de Profiler Requer ferramentas de cliente 26 SQL Server 2008 Upgrade Advisor 27 Agenda Reduzindo Riscos no Upgrade Visão e Tendências: por que fazer o upgrade? Cenários de Atualização In-place comparado a Side-by-side Compatibilidade de Aplicações Mudanças de Sintaxe e Níveis de Compatibilidade Upgrade Advisor e outras ferramentas Demonstração Técnicas, problemas comuns e boas práticas 28 Database Engine DTS Reporting Services, Analysis Services Técnicas de Migração Database Engine Backup e Restore Transparente, preserva o modo de compatibilidade Migração Offline Detach e Attach Simples, é a abordagem mais comum. Também preserva o modo de compatibilidade Migração Offline Copy Database Wizard Migração Online, interface gráfica T-SQL Scripts combinado com BCP 29 Principais problemas e boas práticas Database Engine Sintaxe não aderente Utilização de “=*” ou “*=“ em JOINS Problemas de Collation Collation por Banco de Dados desde o SQL Server 2005 Boas práticas 30 Considerar a utilização dos novos tipos de dados Utilizar modo de compatibilidade apenas para agilizar o processo de upgrade – não deixar como solução permanente Utilizar ferramental para identificar código nas aplicações Técnicas de Migração Pacotes do DTS (SQL Server 2000) Atualização de DTS é feita via side-by-side – DTS não tem dependência no SSIS Atualização in-place simples desde 2000 e 2005 Pacotes DTS podem ser mantidos Necessário executar o DTS Package Migration Wizard para migrar para o formato do SSIS Nenhum 64-bit design/run time para DTS packages Nenhum 32-bit design/run time suportado para DTS packages em plataforma IA64 31 Principais problemas e boas práticas Pacotes do DTS (SQL Server 2000) Código Active-X nos pacotes Inviabiliza o processo automático Senhas hard-coded Expõe a segurança, requer intervenção manual Mudança na arquitetura DTS no mesmo servidor do Database Engine, SSIS em servidor diferente Boa prática Procure desenvolver novamente os pacotes no Integration Services – utilize todo o potencial 32 Técnicas de Migração Reporting Services In-Place: Atualização via setup Restrições: Catálogo Remoto no SQL Server 2000 SQL Server 2000 Web Service Não suporta providers WMI do SSRS 2000/2005 É possível atualizar os componentes do RS sem atualizar o Database Engine É necessário também atualizar os componentes cliente do Reporting Services Em cenário de scale-out, todos os servidores do Reporting Services devem ser atualizados Side-by-side: nova instalação de Reporting Services 2008 33 Técnicas de Migração Reporting Services Instalação em único servidor 34 Instalação com catálogo remoto Instalação scale-out Técnicas de Migração Reporting Services Rotas de Upgrade para Reporting Services 2008 R2 35 Configuração no Reporting Services 2000 ou 2005 In-Place Side-by-Side Instalação em único servidor (2000 / 2005) Sim Sim Instalação com o catálogo remoto no SQL Server 2000 Não Sim Instalação com catálogo Remoto no SQL Server 2005 Sim Sim Instalação Scale-out (2000/2005) Sim Sim Técnicas de Migração Analysis Services (SSAS) SSAS 2005 para SSAS 2008 R2 Tipicamente Atualizado in-place (setup.exe) SSAS 2000 para SSAS 2008 R2 Atualizado in-place é suportada, mas side-by-side é o método recomendado utilizando o Analysis Services Migration Wizard Mudanças pequenas na sintaxe MDX podem trazer resultados diferentes Veja tópico do Books Online “SQL Server Analysis Services Backward Compatibility” 36 Agenda Reduzindo Riscos no Upgrade Visão e Tendências: por que fazer o upgrade? Cenários de Atualização In-place comparado a Side-by-side Compatibilidade de Aplicações Mudanças de Sintaxe e Níveis de Compatibilidade Upgrade Advisor e outras ferramentas Demonstração Técnicas, problemas comuns e boas práticas 37 Database Engine DTS Reporting Services, Analysis Services Conclusão Reduzindo Riscos no Upgrade Upgrade para SQL Server 2008 R2 traz benefícios as áreas de negócios, por adicionar funcionalidades vitais a tendências atuais de mercado Processo de upgrade pode ser feito de duas formas: In-Place ou Side by Side. Escolha a melhor para o seu cenário Ferramental especializado, processos maduros e testes extensivos tornam o upgrade bastante confiável e simples 38 39 Conteúdo relacionado (SUP403) - SQL Server com foco em Diagnóstico de Desempenho (DBP309) - Escalabilidade de Soluções Database Oriented através do SQL Server Service Broker Livro: Microsoft® SQL Server® 2008 Administrator's Pocket Consultant, Second Edition (William R. Stanek – 2010 – Microsoft Press) Livro: Microsoft® SQL Server® 2008 Step by Step (Mike Hotek – 2008 – Microsoft Press) 40 © 2008 Microsoft Corporation. Todos os direitos reservados. Microsoft, Windows, Windows Vista e outros nomes de produtos são ou podem ser marcas registradas e/ou marcas comerciais nos EUA e/ou outros países. Este documento é meramente informativo e representa a visão atual da Microsoft Corporation a partir da data desta apresentação. Como a Microsoft deve atender a condições de mercado em constante alteração, este documento não deve ser interpretado como um compromisso por parte da Microsoft, e a Microsoft não pode garantir a precisão de qualquer informação fornecida após a data desta apresentação. A MICROSOFT NÃO DÁ QUALQUER GARANTIA, SEJA ELA EXPRESSA, IMPLÍCITA OU ESTATUTÁRIA, REFERENTE ÀS INFORMAÇÕES DESTA APRESENTAÇÃO. Por favor preencha a avaliação