Loading…

Usa o SQL Server Express? Por que ainda não migrou para a versão 2016? É de graça!

Fala Pessoal,

Semana passada eu atendi uma empresa que utilizava o SQL Express para sua aplicação.

Eles utilizavam a versão 2014 e já estavam com a base em 6 GB. Fiz um atendimento rápido para eles e deixei como dica migrarem para a versão Express do SQL Server 2016, já que não terão nenhum custo com licença para isso.

Mas por que eu devo ter todo esse trabalho de migrar Fabrício? Me convence!

Vamos lá. Segue alguns argumentos para realizar essa migração.

Os limites de Hardware ainda não mudaram… Mas…

Memória: 1410 MB para o buffer cache. Lembrando que os outros caches podem usar mais memória. Esse cliente que peguei tinha muita consulta Adhoc e estava usando 3 GB de cache apenas para o plano de execução dessas consultas.

Agora no SQL Express 2016 SP1 também existe a possibilidade de usar memória para ColumStore e para Tabelas em memória (In-Memory). Na prática, acho difícil o pessoal usar isso para essas aplicações menores, mas…

CPU: Podemos usar até 4 cores. Tem cliente que acha que só pode usar uma CPU no Express. Você pode usar 1 socket e esse socket pode ter até 4 cores que o SQL Express vai reconhecer.

Disco: O limite do tamanho da base continua 10 Gb, mas no SQL Server Express 2016 SP1 podemos usar compressão de dados como vamos ver mais na frente.

Compressão de Dados

Já utilizei a compressão de dados no SQL Server com resultados muito significativos na redução de espaço utilizado pelo banco.

Em um banco Protheus da Totvs por exemplo, já reduzi em 80% o tamanho do banco. Na sua empresa será um pouco menos que isso, pois o recorde é da Totvs devido a forma como criam e armazenam os dados.

O quanto seu banco vai compactar depende do tipo de informação que você armazena.

Com essa redução que a compressão proporciona, você conseguirá armazenar mais dados que conseguia até versões anteriores ao SQL Server 2016 SP1.

Mas Fabrício, qual o custo disso?

Temos um consumo um pouco maior de CPU, contudo, o ganho que temos com acesso a disco e uma melhor utilização da memória, na grande maioria dos casos compensa. Suas páginas ficam armazenadas compactadas no Buffer Cache, logo, você consegue manter muito mais páginas em memória (que vale ouro!!) reduzindo o acesso a disco (que é lento!!).

Normalmente CPU é menos crítico que disco e memória para um banco de dados.

Em um ambiente Express, 4 cores de CPU normalmente não é problema, agora 1.410 MB de memória, se tiver várias bases, pode ser problema. A compactação ajuda com isso.

Utilização do Query Store

Sabe aquele problema onde o SQL Server estava funcionando perfeitamente e do nada ficou lento?

Isso pode ser algum parâmetro diferente que foi passado em uma query que fez o SQL usar um plano diferente que não é o melhor para a maioria das chamadas. O Query Store será nosso grande amigo para analisar esse tipo de problema.

Vamos conseguir ver os planos diferentes de uma query e forçar o SQL a usar o plano com melhor performance.

Também vamos conseguir monitorar de forma mais simples as TOP queries que mais demoram, mais consomem CPU, disco e memória. Dentre outras informações que o Query Store nos proporciona para nos ajudar no nosso Tuning.

Mas Fabrício, temos isso no SQL Express???

Sim. Temos:

Caso use o Query Store no Express, instale o update mais recente visto que existe um problema no query store para as versões Standard e Express que já foi corrigido.

https://support.microsoft.com/en-us/help/3178297/query-store-automatic-data-cleanup-fails-on-editions-other-than-enterprise-and-developer-edition-of-sql-server-2016

Melhorias da Engine do SQL 2016

Como ja disse nesse post: Tem SQL Server Standard na sua empresa? Hora de planejar a migração para o SQL Server 2016!!!

O funcionamento interno do SQL Server 2016 foi o que teve mais melhorias dentre as últimas versões do SQL que foram liberadas. A microsoft investiu bastante reescrevendo como ele funciona internamente para torná-lo mais rápido. Só de você desinstalar uma versão antiga e instalar o SQL Server 2016 em um mesmo hardware ele já ficará mais rápido.

Segue abaixo um vídeo do BobWard falando sobre os detalhes dessas melhorias internas do SQL Server. Vale a pena assistir:

Vídeo: https://channel9.msdn.com/Events/Ignite/2016/BRK3043-TS

Outras novas funcionalidades do SQL Express 2016 SP1

Segue abaixo um quadro com outras funcionalidades que você pode passar a utilizar migrando seu SQL Server Express para a versão 2016 SP1.

Destaque para:

Row-level security, Dynamic Data Masking e Always Encrypted.

Conclusão

Espero que tenha conseguido te convencer a migrar seu SQL server Express para a nova versão do 2016.

Até quem tem um Standard já tem muitos motivos para migrar, imagina quem tem Express que não paga nada por isso.

Gostou dessa Dica?

Curta, comente, compartilhe…

Assine meu canal no Youtube e curta minha página no Facebook para receber Dicas de Leituras, Vídeos e Eventos sobre SQL Server.

Até a próxima.

Fabrício Lima

MCITP – Database Administrator

Consultor e Instrutor SQL Server

Trabalha com SQL Server desde 2006

14 thoughts on “Usa o SQL Server Express? Por que ainda não migrou para a versão 2016? É de graça!

  1. Tenho uma aplicação ( SAnKhya) rodando em SQLSERVER 2016 Express caso seja necessário mudar para SQLSERVER 2016 Standard essa migração é muito complexa?

    1. Boa Tarde,

      Não é muito simples, mas também não é muito complexa.

      Vai ter que se atentar a alguns detalhes para não deixar nada para trás.

      Terá que reinstalar o SQL com o instalado do stardard.

  2. Interessante suas questões. Sempre tive uma dúvida. Posso criar uma máquina virtual na web e usar o EXPRESS como banco de dados? Ou seja, será que ele aguenta rodar sistemas na web ? Alguém já teve experiencia disso ?

  3. Bom dia:

    Temos aqui um banco SQL Express 2008 R2 SP1, estamos adquirindo a licença para o SQL SEVER STANDARD 2017. É muito complexo essa transição ou basta só adicionar a licença ?

  4. Fabrício,
    parabéns pelo blog, absorvi valiosas dicas e vou continuar lendo.

    Uma duvida, no SQL Express 2016, possui alguma dica para execução de backup programado ou solução gratuita eficaz?

    Não sou DBA, mas presto serviços de Ti e alguns clientes tenho que executar estas rotinas por segurança.

    Obrigado!

  5. Utilizamos o SQL server Standard e estamos pensando em migrar pro SQL server Express, você acha que vamos perder em performance.

    Obs: nossa base tem 6GB

  6. Boa tarde, Fabrício

    Hoje rodamos o SQL Server 2005 em um Windows 2008.

    O cliente adquiriu um novo servidor e vai atualizar para versão do Windows 2012.

    Esta instalação do SQL Server 2005 no Windows 2012 é complicada?
    Se for necessário fazer uma migração do SQL Server 2005 para o SQL Server Express 2016 é muito complicado? Sei que vamos perder em limitações do uso de CPU, visto que o novo equipamento tem 16 GB de RAM.

    Abraços,

    Renato Silva

  7. Caro @Fabrício Lima, recentemente atualizamos um SQL Server Express 2008 R2 SP3 para o SQL Server 2017 CU9 e não encontramos o Query Store instalado. Ele precisa ser instalado? Obrigado

Deixe uma resposta