Se você estiver executando o SQL Server 2008 ou SQL Server 2008 R2, o que 9 de julho de 2019 significa para você? Com essas duas versões do SQL Server chegando ao fim de seu ciclo de vida de suporte juntas, você não poderá mais obter atualizações de segurança críticas. Isso pode causar sérios problemas de segurança e conformidade para sua organização.
Quando essas versões do SQL Server foram lançadas, elas vinham com 10 anos de suporte; 5 anos de suporte principal e 5 anos de suporte estendido. Se sua organização ainda tem o SQL Server 2008/2008 R2 em produção, como sua organização planeja lidar com o risco? Para organizações que são fortemente regulamentadas, essa é uma grande preocupação.
Você precisa escolher como vai migrar e para onde vai migrar e, em seguida, certifique-se de não encontrar nenhum obstáculo ao longo do caminho.
Ferramentas de avaliação de migração
Se você estiver planejando uma atualização do SQL Server 2008/2008 R2, a Microsoft tornou muito mais fácil testar e validar seu ambiente. Existem inúmeras ferramentas que podem ajudar nas avaliações de migração e até mesmo lidar com tarefas de migração, e todas elas são um pouco diferentes. Essas ferramentas incluem:
- Assistente de migração de dados
- Kit de ferramentas de avaliação e planejamento da Microsoft
- Serviço de Migração de Banco de Dados do Azure
- Assistente de experimentação de banco de dados
O Data Migration Assistant ajuda você a atualizar para uma plataforma de dados moderna. Ele faz isso detectando problemas de compatibilidade que podem afetar a funcionalidade na versão mais recente do SQL Server e faz recomendações para melhorias de desempenho e confiabilidade para o novo ambiente. Sua origem pode ser o SQL Server 2005+ com um destino do SQL 2012+ e do Banco de Dados SQL do Azure.
O Microsoft Assessment and Planning Toolkit existe há muitos anos e é frequentemente chamado de MAP Tool. É ótimo fazer um inventário do seu ambiente atual para descobrir onde o SQL Server (e outros aplicativos) existe.
O Serviço de Migração de Banco de Dados do Azure integra algumas das funcionalidades de ferramentas e serviços existentes para fornecer aos clientes uma solução abrangente para migrar para o Azure. A ferramenta gera relatórios de avaliação que fornecem recomendações para orientá-lo em todas as alterações necessárias antes de realizar uma migração. Este serviço atualmente requer uma VPN ou Rota Expressa.
Por fim, o Database Experimentation Assistant é uma nova solução de teste A/B para atualizações do SQL Server e é uma ferramenta com a qual você deve se familiarizar. Ele aproveita o Distributed Replay para capturar uma carga de trabalho e reproduzi-la em um SQL Server de destino. Isso pode ser usado para testar alterações de hardware ou diferenças de versão do SQL Server. Você pode capturar cargas de trabalho do SQL Server 2005 e superior.
Opções de migração
Atualização no local: Um dos métodos de migração mais fáceis é atualizar para uma versão mais recente do SQL Server. Nesse caso, você tem o SQL Server 2012, 2014, 2016 ou 2017 para escolher. Eu encorajo os clientes a atualizar para a versão mais recente que puderem. O SQL Server 2012 já está fora do Mainstream Support e o SQL Server 2014 sai do Mainstream Support em 9 de julho de 2019. A atualização pode ser muito demorada e cara para as organizações devido a todo o planejamento e testes envolvidos, portanto, mudar para a versão mais recente pode aumentar o tempo antes da próxima atualização. Há também várias melhorias de desempenho e funcionalidade no SQL Server 2016 e 2017 que tornam a migração para o SQL Server 2012 ou 2014 uma escolha muito ruim no momento.
Uma abordagem comum para atualizações locais é criar novos e migrar, independentemente de um ambiente físico ou virtual. Ao criar novos, você pode restaurar seus bancos de dados e realizar várias rodadas de testes e validação para garantir que tudo funcione conforme o esperado antes de mover a produção.
Atualize e migre para uma VM do Azure: Para organizações que desejam migrar para a nuvem, o Azure Infrastructure as a Service (IaaS) é uma ótima opção. A execução do SQL Server em uma VM do Azure é muito parecida com o local. Você especifica o tamanho da VM (número de vCPUs e memória) e configura seu armazenamento para seus requisitos de E/S e tamanho. Você ainda é responsável por oferecer suporte ao SO e ao SQL Server para configuração e aplicação de patches. O Azure IaaS oferece a capacidade de dimensionar facilmente suas cargas de trabalho, dimensionando o tamanho de sua máquina virtual para cima ou para baixo conforme suas necessidades de carga de trabalho mudam, além de aproveitar a integração do Azure Active Directory, a detecção de ameaças e muitos outros benefícios do Azure.
Migre para o Banco de Dados SQL do Azure: Outra opção que você tem é migrar para o Banco de Dados SQL do Azure. O Banco de Dados SQL do Azure pode ser pensado como um Banco de Dados como Serviço e faz parte da Plataforma como Serviço (PaaS) da Microsoft. A funcionalidade do Banco de Dados SQL do Azure tem escopo de banco de dados, o que significa que certas coisas, como consultas cruzadas de banco de dados, SQL Server Agent, Database Mail e muito mais, não estão disponíveis. No entanto, muitos clientes que possuem aplicativos que utilizam um único banco de dados conseguiram migrar para o Banco de Dados SQL do Azure com esforço mínimo. Você pode testar rapidamente a compatibilidade com o Banco de Dados SQL do Azure usando o Assistente de Migração de Dados. Com o Banco de Dados SQL do Azure, você pode dimensionar seus bancos de dados por DTU (Database Transaction Units) ou vCores individualmente ou agrupar bancos de dados em um pool elástico. O Banco de Dados SQL do Azure permite que você aumente e reduza seus recursos com o mínimo de esforço e tempo de inatividade.
Migre para a instância gerenciada do SQL do Azure: Uma nova opção (a partir de 2018) é migrar para a Instância Gerenciada de SQL do Azure. Este é um novo produto que está disponível em geral a partir de 1º de outubro para a camada de uso geral. A instância gerenciada foi criada usando o modelo de programação em nível de instância. Isso significa que a funcionalidade com a qual estamos acostumados com a versão completa do SQL Server é suportada. O objetivo da instância gerenciada é ter 100% de compatibilidade de área de superfície com o local. Todos os bancos de dados na instância estão no mesmo servidor, portanto, há suporte para consultas entre bancos de dados, assim como Database Mail, SQL Server Agent, Service Broker e muito mais. Existem dois níveis de preços; Uso geral, que inclui um secundário não legível para HA e Business Critical, que tem dois secundários não legíveis e um secundário legível. A instância gerenciada faz parte da oferta de PaaS da Microsoft, para que você obtenha todos os recursos e funcionalidades integrados de PaaS.
Mover como está para as Máquinas Virtuais do Azure: A Microsoft está oferecendo três anos de Atualizações de Segurança Estendidas sem custo adicional se você mover suas instâncias do SQL 2008/SQL 2008 R2 para uma VM do Azure. O objetivo é dar a você um pouco mais de tempo para atualizar para uma versão mais recente do SQL Server quando estiver pronto.
Pague para ficar: Esta não é uma opção de migração, mas você tem a opção de comprar até três anos de Atualizações de Segurança Estendidas. Existem restrições em torno desta opção. Você deve ter Software Assurance ativo para essas instâncias ou licenças de Assinatura sob um Contrato Enterprise. Se isso se aplicar a você, essa opção pode lhe dar mais tempo para planejar e migrar do SQL Server 2008/2008 R2.
Práticas recomendadas de migração
Ao realizar qualquer migração ou atualização, há certas coisas que você precisa estar ciente. Primeiro, você precisa de linhas de base e não posso enfatizar isso o suficiente. Sempre que você faz uma mudança em um ambiente, precisa ser capaz de medir como essa mudança afeta o ambiente. Conhecer as principais métricas de desempenho para seu ambiente pode ajudá-lo a solucionar qualquer impacto percebido. Você pode coletar manualmente essas métricas usando perfmon e DMVs ou investir em uma plataforma de monitoramento de desempenho. Escrevi sobre as duas técnicas com mais detalhes em uma postagem anterior e agora você pode obter uma avaliação estendida de 45 dias do SentryOne . Ter métricas de linha de base para itens como utilização de CPU, consumo de memória, métricas de disco e muito mais pode informar rapidamente se as coisas parecem melhores ou piores após uma atualização ou migração.
Você também deve observar suas opções de configuração em sua instância. Muitas vezes, fui solicitado a examinar uma instância do SQL Server após uma atualização ou migração e descobri que a maioria das configurações padrão está em uso. Se o sistema antigo ainda estiver disponível, posso consultá-lo e obter os valores não padrão anteriores que estavam em vigor e aplicá-los ao novo ambiente para recuperá-los para uma configuração conhecida. É sempre bom revisar sys.configurations em seu servidor de produção para considerar fazer alterações semelhantes em seu novo ambiente (limite de custo para paralelismo, grau máximo de paralelismo, otimizar para cargas de trabalho ad hoc e muito mais). Observe que escrevi 'considerar'. Se sua contagem de núcleos ou memória for diferente no novo servidor, você precisará definir as configurações levando em consideração o tamanho do novo servidor.
Qual é o seu plano de retorno se as coisas derem errado? Você tem backups adequados para os quais pode voltar? Na maioria dos casos com uma atualização ou migração, você está migrando para uma nova VM ou servidor físico. Seu failback pode ser voltar para o servidor antigo. Se você teve alteração de dados na nova versão do SQL Server, seu failback é muito mais complicado. Você não pode restaurar um backup de banco de dados do SQL Server de uma versão mais recente do SQL Server para uma versão mais antiga.
Conclusão
Se você ainda estiver usando o SQL Server 2008 ou SQL Server 2008 R2, terá algumas opções disponíveis para manter a conformidade após 9 de julho de 2019. Para permanecer no SQL Server 2008 ou SQL Server 2008 R2, você pode comprar Atualizações de segurança estendidas ou mude para uma máquina virtual do Azure se você se qualificar. Se você puder atualizar, poderá migrar para uma versão com suporte do SQL Server local ou em uma VM do Azure ou considerar a migração para uma solução gerenciada, como o Banco de Dados SQL do Azure ou a Instância Gerenciada do SQL do Azure.