Clique no banner para conhecer e adquirir o meu treinamento de Bancos de Dados no Azure

SQL Server Express e Developer – Até onde podemos usar as versões gratuitas do SQL Server?

Post Views 32,071 views
Reading time 6 minutes

Hey Guys!

Depois de muito ler e responder perguntas em grupos de Whatsapp e Telegram sobre limitações do SQL Server Express e do Developer, resolvi escrever esse artigo explicando sobre essas duas versões gratuitas*** do SQL Server e tentar esclarecer todas as dúvidas.

SQL Server Developer Edition

O SQL Server Developer Edition é grátis mesmo?

No dia 31/03/2016, foi anunciado que a partir do SQL Server 2014, a versão Developer seria free/grátis/gratuita/de graça para membros do programa Visual Studio Dev Essentials (veja o post oficial aqui).

Um pouco mais tarde, esse benefício acabou se estendendo a todos os usuários, e você pode baixar a versão mais recente do SQL Server Developer acessando este link aqui.

Onde baixar as versões anteriores do SQL Server Developer Edition?

Caso queira alguma versão mais antiga do SQL Server Developer, acesse este link aqui, conforme imagem abaixo (precisa ter uma conta no programa Visual Studio Dev Essentials:

Posso utilizar o SQL Server Developer Edition em ambientes de produção?

Esse benefício incrível que a Microsoft disponibilizou para os profissionais de TI, permitindo que qualquer pessoa possa baixar e instalar o SQL Server Developer, se aplica apenas para ambientes de estudos, testes e/ou desenvolvimento. Em hipótese alguma utilize o SQL Server Developer em ambientes de produção, pois sua instalação será considerada PIRATA/ILEGAL e você poderá sofrer pesadas punições ($$$) pela Microsoft.

E como a Microsoft sabe que você está utilizando SQL Developer em produção?
Em casos de denúncias ou em clientes que possuem contratos, a Microsoft faz auditorias presenciais ou remotas em empresas (as empresas são informadas e acompanham a auditoria) e consultores analisam todo o ambiente em busca de softwares piratas ou outros problemas de licenciamento (incluindo Azure), então em uma dessas auditorias, a sua empresa pode acabar sendo multada por irregularidades.

Embora a documentação do SQL Server Developer nos informe que podemos utilizar a versão Developer em ambientes de testes e desenvolvimento, devemos tomar muito cuidado com isso:

  • Caso seu ambiente de desenvolvimento/testes não tenha dados reais de produção (eles não foram replicados ou foram gerados aleatoriamente ou foram mascarados), você pode ficar tranquilo e utilizar a versão Developer.
  • Caso seu ambiente de desenvolvimento/testes seja uma cópia ou amostra do ambiente de produção, você poderá ou não ter problemas de licenciamento por utilizar a versão Developer. Nesse caso, a recomendação é entrar em contato com seu representante comercial na Microsoft e solicitar orientações formais sobre como proceder e se o uso da versão Developer se aplica ao seu cenário (formalize toda a comunicação), pois já vi casos em que isso não gerou problemas e outros acabaram gerando.

Quais as diferenças entre a versão Developer e a Enterprise?

Essa é uma dúvida muito comum entre os profissionais e estudantes de TI que estão começando a estudar o SQL Server. Tecnicamente, elas são a mesma versão. A edição Developer é completa e possui todos os recursos que encontramos na edição Enterprise do SQL Server. Isso permite que todos tenham oportunidade de conhecer e estudar todos os recursos que o SQL Server oferece, como por exemplo o Analysis Services, Reporting Services, Integration Services, Master Data Services, Data Quality Services, etc, sem custo algum.

A grande diferença entre a versão Developer e a Enterprise é o licenciamento. Enquanto a versão Developer é gratuita (com as regras citadas acima), a versão Enterprise é paga (por core ou por servidor).

Caso você queira testar a versão Enterprise na sua empresa por 180 dias (nesse caso, você pode testar com dados reais de produção) e avaliar se será interessante adquirir a licença, você pode baixar a versão Trial do SQL Server neste link e começar a utilizá-la.

SQL Server Express Edition

O SQL Server Express Edition é grátis mesmo?

Sim! Desde que foi lançada em 2005, a versão Express do SQL Server é e sempre foi gratuita. Você pode baixar a versão mais recente do SQL Server Express acessando este link.

Onde baixar as versões anteriores do SQL Server Express?

Caso queira alguma versão mais antiga do SQL Server Express, acesse este link aqui, conforme imagem abaixo (precisa ter uma conta no programa Visual Studio Dev Essentials:

Posso utilizar o SQL Server Express em ambientes de produção?

Sim! O SQL Server Express pode ser utilizado em ambientes de produção sem nenhum problema relacionado a licenciamento do software. Entretanto, ele possui várias limitações técnicas (vou explicar logo abaixo) que talvez possam inviabilizar a utilização do SQL Server Express em sistemas maiores e mais complexos.

Quais as diferenças entre o SQL Server Express e o Enterprise?

Diferente da comparação entre as versões Developer e Enterprise, onde só o que muda é a forma de licenciamento, a versão Enterprise e Express possuem várias diferenças técnicas entre elas, uma vez que a versão Express possui algumas limitações (tanto de hardware quanto de recursos), que variam de acordo com a versão do SGBD:

Limitações de hardware

  • Limite máximo de tamanho de database: 10 GB (SQL Server 2008 R2 ao SQL Server 2017) e 4 GB (SQL Server 2008 e anteriores). Esse limite é aplicado apenas aos dados (logs não são considerados), embora tenha uma forma não recomendada de ultrapassar esse limite
  • Limite máximo de memória RAM utilizada: 1 GB (1410 MB a partir do SQL 2016). Esse limite é apenas para o Buffer Pool (cache)
  • Limite máximo CPU’s: 1 CPU. Caso o servidor tenha 8 processadores quad-core, será utilizado apenas 1 processador quad-core (ou seja, nesse exemplo serão utilizados 4 núcleos dos 32 disponíveis no servidor)

Meu SQL Server Express utiliza mais que 1GB de memória
Vejo muitos relatos na internet, sobre pessoas questionando o limite de memória do SQL Server Express, pois no gerenciador de tarefas, o processo do SQL está utilizando mais que 1 GB. Então como isso é possível?

A resposta para isso, é que esse limite de 1 GB (ou 1410 MB a partir do SQL Server 2016) se aplica apenas à área de memória buffer pool, que é a área de memória principal e também responsável pelo cache das consultas para reduzir as operações de I/O do disco.

Entretanto, o SQL Server possui outras área de memória, além da buffer pool. A partir do SQL 2016 SP1, o SQL Express pode consumir adicionais 352MB para segmentos de objetos columnstore (por instância) e adicionais 352MB para objetos in-memory OLTP (Hekaton) por database. E ainda existem outras áreas de memória do SQL Server que não possuem limitações, como o MEMORYCLERK_SQLCLR, mesmo na edição Express.

Para visualizar o consumo de memória por área, você pode executar essa consulta aqui:

Limitações de software

  • Não possui o SQL Agent, ou seja, você não pode utilizar Jobs do SQL Server (se precisar agendar tarefas, terá que utilizar o agendador do SO)
  • Não possui a interface do Database Mail, ou seja, para enviar e-mails a partir do SQL Server você não terá uma interface (GUI ou Wizard) para te auxiliar na configuração. Tudo terá que ser feito via código T-SQL (veja mais detalhes aqui)
  • Não possui o Analysis Services
  • Não possui o Reporting Services
  • Não possui o Integration Services
  • Sem suporte a alguns outros recursos como: Compactação de backups, AlwaysOn, Database Snapshots, Rebuild Online, Criptografia de backup, Resource Governor, Transparent Data Encryption (TDE), SQL Profiler, Database Tuning Advisor (DTA), SQL Server Data Tools, Ferramentas de MDX, Integração com R e Python

Vale ressaltar que não existe uma limitação de quantidade máxima de usuários específica para o SQL Server Express (ele vai seguir a mesma limitação das outras versões – 32.767 conexões simultâneas). Entretanto, devido às limitações de hardware vistas acima, dificilmente esse banco vai suportar toda essa quantidade de conexões abertas. A quantidade máxima de usuários suportada pelo SQL Server Express acaba sendo definida pelas limitações de hardware e pela forma que a aplicação foi construída.

Para visualizar a lista completa de limitações da versão Express, veja os links abaixo:

Caso você queira saber mais sobre a extensão Advanced Services do SQL Server Express, que adiciona mais alguns recursos ao Express, como o Data Tools e o Reporting Services, veja o meu post SSRS – Reporting Services na sua empresa sem pagar NADA ? Conheça o SQL Server Express with Advanced Services.

Em resumo, podemos considerar o SQL Server Express como uma versão grátis e “lite” do SQL Server Enterprise, devido às limitações da versão Express. Entretanto, o SQL Server Express ainda é um SGBD robusto o bastante para suportar pequenas aplicações, com uma grande variedade de recursos de gerenciamento (Autenticação Windows, Backups) e desenvolvimento (SQLCLR, XML, JSON, Full-text search)

Espero que tenham gostado desse post e até a próxima!
Forte abraço!