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.
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
Tenho uma aplicação ( SAnKhya) rodando em SQLSERVER 2016 Express caso seja necessário mudar para SQLSERVER 2016 Standard essa migração é muito complexa?
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.
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 ?
Ola,
Se aguenta ou não depende de muita coisa. Não consigo te dizer.
Vai ter que testar para seu cenário.
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 ?
Bom dia,
Vai ter que instalar tudo novamente pois o express não tem muita coisa que o standard tem.
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!
Olá Silas,
Segue abaixo o link de um vídeo do Marcos Freccia no Youtube. Acredito que possa te ajudar.
Configurando Backups no SQL Server Express
https://www.youtube.com/watch?v=BZdfxvgDqmI
Abraço.
Fabrício
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
Express tem limite de CPU e memória.
Certamente podem perder performance. Teriam que instalar e testar para ver se atenderia.
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
Bom Dia,
Não sei nem se é compativel instalar o 2005 no 2012.
Sobre mudar de standard para express é uma mudança bem radical. teste bem antes de fazer isso.
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
Atualizaram o Management Studio para o mais recente?
Façam isso.