Olá pessoal!
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:
1 2 3 4 |
SELECT type, SUM(pages_kb)/1024 AS MemoryMB FROM sys.dm_os_memory_clerks GROUP BY type ORDER BY 2 DESC |
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:
- SQL Server 2005 Express
- SQL Server 2008 Express
- SQL Server 2008 R2 Express
- SQL Server 2012 Express
- SQL Server 2014 Express
- SQL Server 2016 Express
- SQL Server 2017 Express
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!
Boa noite professor Dirceu!
Há mais de 10 dias que tento instalar o SQL SERVER Developer 2022 e não consigo. Me dá sempre o erro abaixo.
“Action required:
Use the following information to resolve the error, uninstall this feature, and then run the setup process again.
Feature failure reason:
An error occurred during the setup process of the feature.
Error details:
§ Error installing SQL Server Database Engine Services Instance Features
O sistema não conseguiu localizar o caminho especificado
Error code: 0x80004005
Visithttps://go.microsoft.com/fwlink?LinkId=20476&ProdName=Microsoft+SQL+Server&EvtSrc=setup.rll&EvtID=50000&ProdVer=16.0.1050.5&EvtType=0xF57C3D6F%400xDC80C325&EvtType=0xF57C3D6F%400xDC80C325 to get help on troubleshooting.”
Preciso da vossa ajuda. Obrigado
Felisberto João
e a versão WEB, tem limitações igual a EXPRESS? notei que ela tem um custo baixo (já vi servidores pedindo $20 por mês para usar)… acho que deveria existir uma versão com pagamento mensal e com direito a upgrade de recursos sem ter que ficar instalando tudo novamente…
Ola, gostaria de saber se existe a possibilidade de prorrogar os 180 dias. E se for formatado o sistema e reinstalado do zero com outro HD por exemplo, posso utlizar esses 180 dias de novo? ou fica algum registro do sql no hardware .. Obrigado
Ótima explicação, obrigado Dirceu minha dúvida foi esclarecida.
Dirceu, obrigado pela publicação, mas fiquei com uma dúvida. A versão Developer é totalmente gratuita ou tem alguma restrição além de não poder instalar em produção? Por exemplo, posso instalar essa versão para usar em um ambiente de homologação contendo dados de produção através de bkp/restore?
uma dúvida, então o Developer é igual ao Licenciado, tem todas as ferramenta, sem limite de tamanho etc. (unica ressalva em relação ao uso de dados não verdadeiros)? é isso mesmo?
e outra dúvida, se eu instalar o Developer no Ubuntu, depois para migrar para a versão licenciada é fácil e simples sem perder os dados, ou dá alguma dor de cabeça ?
Obrigado
A edição Developer não tem limitação, então é praticamente igual à versão Enterprise.
É fácil e simples sim, só vai ter instalar a versão licenciada e migrar bancos, usuários, logins, etc.. Como se fosse uma migração normal.. Se você instalar a versão trial e quiser migrar pra versão licenciada, aí é mais fácil, só converter a licença no instalador do sql server e usar a opção edition upgrade
**Em hipótese alguma utilize o SQL Server Developer em ambientes de produção, **
Tá, e como a microsoft faz para saber se eu estou sando dados verdadeiros ou se eu estou usando dados inventados?
Eles ficam me espionando e roubando minhas informações????
Enio, a Microsoft vai nas empresas presencialmente fazer esse tipo de verificação.
Minha duvida posso ter um banco maior que 10Gb no sql developer
Parabéns pelo artigo, muito esclarecedor.
Aqui na empresa estamos justamente na dúvidas sobre o uso de uma cópia da base de produção com dados embaralhados no ambiente de desenvolvimento para simulação de bugs.
Sabe informar se tem algum canal oficial da Microsoft onde eu possa tirar essa dúvida?
Muito interessante! Fui baixar hoje o sql da microsoft e vi estas duas opções aparentemente gratuitas. Percebo que baixei a correta( express ), pois quero apenas usar para estudos e aplicações pequenas, sem ter problemas depois com a microsoft. Valeu pelo artigo!
Muito bom artigo…
Uma dúvida…
O limite de tamanho é por banco ?
Posso ter 5 bancos de 9 GB cada ?
Obrigado
Isso mesmo.. O limite é por banco e pode ter 5 bancos de 9gb cada, se quiser.
Abraco!
Parabéns pelo artigo!
Excelente Dirceu. Obrigado pela explicação!
Obrigado pela visita e feedback 🙂
Olá Dirceu, obrigado pelo artigo, ajudou quando procurei por versões anteriores do Developer.
Att.,
Gustavo
De nada, Gustavo.
Fico muito feliz em saber disso.
Olá Dirceu, boa tarde!
Obrigado pela explicação, agora posso decidir qual será a melhor opção para meus estudos.
Att.
Edimilson Jr
Obrigado, Edimilson.
Espero ter sido útil para seus estudos.