SQL Server - Versões

Versões do MS SQL Server

Na página SQL Básico descrevi as versões do MS SQL Server desde a 1.0 de 1989 até a 2017. Na maioria das versões não dá pra comparar com a versão anterior porque as modificações foram muitas mas o ganho dado pelas modificações foram muito significativos.

Edições do MS SQL Server

Se você pensa que o MS SQL Server é um só produto, se engana, são diversos produtos para atender as mais diferentes demandas, de estudantes interessados no assunto a grandes empresas rodando seu futuro neles.

De versão para versão do MS SQL Server eles mudam algumas coisas mas basicamente podemos afirmar algumas coisas que abrangem a maioria das versões.
Genéricamente dizendo temos as seguintes edições da mesma versão de banco de dados MS SQL Server:

1-Developer Edition

Há um tempo atrás você podia baixar a versão Enterprise do MS SQL Server e usar ela para estudos sem problemas desde que se comprometesse a não usar comercialmente e seu uso seria restrito ao estudo.

Só pra te dar uma ideia, no Brasil a multa por software ilegal pode chegar a 3.000 vezes o valor do software . Isso mata qualquer um.

Hoje em dia é uma versão onde boa parte dos recursos não essenciais do SQL foram removidos visando ficar ideal para estudos iniciais da base de dados. É leve, compacta mas mantém praticamente todos os recursos que um estudante precisa para ficar bom na ferramenta.

Um fato pouco conhecido era a restrição a instalação desta ferramenta em servidores windows. Eles só poderiam ser instalados em workstations mas é uma restrição da Microsoft porque se você tentasse instalar funcionaria perfeitamente mas estaria infringindo as regras de utilização da Microsoft.

Como disse acima, o que não visa o banco de dados foi retirado da versão developer como Integration Services, Analysis Services, Web Services, Database Mirroring e failover clustering.

2-Standard Edition

Esta é a versão de entrada do MS SQL Server que é a mais barata e a mais comprada pela maioria das empresas que precisam de pequenos servidores. Não é nada barato, custa perto de US$400 mas pelo que realiza, para o porte de uma empresa, o valor é muito bom.

No contrato de licenciamento vem muitas cláusulas e algumas são dificeis de ter certeza que estamos cumprindo. É o exemplo do número de conexões máximas. Em muitas versões no contrato vem 50 conexões simultâneas com a base de dados. Sendo assim se você colocar uma página web que acesse a base de dados vai ter que tomar cuidado para que não fique acima de 50 usuários conectados simultâneamente por muito tempo.

Nota : Hoje em dia se for notada uma quebra nas cláusulas contratuais a empresa ( pode ser a Microsoft ou qualquer outra que note a quebra de contrato ) poderá tomar duas decisões :

Se for uma ou duas licenças, se for pouco tempo que esta ocorrendo a quebra de contrato, ela te dará um prazo, algo de um mês, para que você compre o novo software e instale ele e corrija o problema. Se eles vierem uma segunda vez e você não estiver de acordo, com certeza, você vai se arrepender...a multa poderá chegar a 3000 vezes o valor do contrato.

Contudo se você tiver quebrando um grande número de licenças e se for por muito tempo a infração será absurda e implacável. Só para dar uma ideia a Ford foi uma empresa autuada por software pirata..ela tinha 400 licenças de DOS pirata rodando na linha de produção. Isto ocorria porque havia reserva de mercado e os computadores deles eram comprados da SISNE e vinha com o DOS da SISNE (pirataria da empresa, claro) que não funcionava direito com os softwares vindos dos EUA e outras empresa. Coitada da Ford, querendo trabalhar mas aqui é Brasil e a corrupção sempre valeu a pena.

Na versão Standard já temos o MS SQL Completo com Integration Services, Analysis Services, Web Services, Database Mirroring e failover clustering.

Havia uma restrição quanto ao número de CPUs que rodavam a aplicação. Se seu servidor tinha 1 CPU era um valor, se tinha 2 estava coberto mas se tinha 32 você teria que pagar um adicional salgado.

Hoje esta versão tem as seguintes restrições : Período de utilização de 6 meses, 4 sockets ou 24 cores, 128 GB RAM, 524 PB de tamanho máximo do banco de dados.

O que mais restringe a compra desta versão é seu preço...vai de US$900 a algo perto de US$3.500. Mesmo assim é metade do preço de uma base de dados Oracle que é metade do preço de uma base de dados Teradata. Contudo, apesar de todos serem bancos de dados, são de categorias completamente diferentes exigindo recursos completamente diferentes para sua implantação que dá um TCO (Total Cost OwnerShip) muito diferenciado.

Versões Intermediárias

Há um tempo atrás havia a versão 'WorkGroup edition' que tinha características da Standard Edition e da Enterprise Edition. Vinha com o Integration Services mas tinha restrições como apenas 2 cpus Dual-Core, 3GB de RAM, até 100 usuários. Visava atender empresas de médio porte com necessidades maiores que a Standard Edition

Também existe a versão 'Web Edition' que visa atender empresas que precisavam de um servidor SQL de baixo custo para atender aplicações web. Tinha as limitações de Uma CPU, 4GB tamanho máximo de bancos de dados, 1 GB de RAM e, no máximo, 25 usuários.
Hoje esta versão comporta 4 sockets ou 16 cores, 64 GB de RAM, Tamanho da base de dados de 524 PB.

Outra versão que existiu e existe até hoje é a 'Compact Edition' que se destina a dipositivos com hardware muito mais restrito, como um telefone celular. Utilizava apenas 1MB de RAM (isso mesmo, 1 Mega-Byte de Ram) e mesmo assim no mecanismo de banco de dados é implementada todas as regras do SQL Server (ACID). Normalmente era instalado no windows CE e depois no Windows Phone mas existe até hoje.

Enterprise Edition

Esta é a versão completa do MS SQL Server e a mais pesada e cara. A única limitação que tem é 524 PB de tamanho máximo de banco de dados.

Se quiser testar esta versão infelizmente só poderá fazê-lo por 6 meses.

Esta versão já implementa mecanismos de failover, réplicas de bancos de dados, features para ajustes de performance e escalabilidade horizontal e finalmente nuvem híbrida. Possue ainda recursos de data mining avançados o que facilita, e muito, a criação de modelos multidimensionais. Integra-se perfeitamente com o power BI e em se tratando de machine learning conta com paralelismo completo o que dá um ganho fantastico de performance.

Além das ferramentas do .NET está perfeitamente integrado com Python, R e Hadoop/Spark.

Foi por isso que no documento sobre SQL Básico pedi para que você se quisesse saber sobre as funcionalidades do SQL Server fosse direto no site da Microsoft. São realmente muitas coisas novas.

Caso você ainda tenha dúvidas ( e quem é que não tem com tantos detalhes ) tem uma página da Microsoft muito boa explicando mais alguns detalhes. Para visitar ela, Clique aqui

Versões das Edições

Além dos 3 tipos básicos de SQL Server citados acima (Express, Standard e Enterprise) temos uma subdivisão que é feita pelo direito de utilização dessas versões de base de dados. Menciono abaixo as principais.

Versão Free

Hoje se você entrar nos sites da Microsoft vai encontrar 2 versões free : Desenvolvedor e Express, ambas do ms sql 2019.

Versão MS SQL Server Express

Se você é um estudante aprendendo SQL este é a versão que você deve usar. Leve, compacta, sucinta, funcional atende bem qualquer quesito de ensino. Com certeza a Microsoft investe pesado em treinamento em suas ferramentas e esta é uma das principais provas.

Como eu disse esta versão é ideal para estudantes mas para profissionais é bem fraquinha. Abaixo menciono as principais diferenças entre o Express e o Enterprise.

Limitações de hardware

1-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.
2-Limite máximo de memória RAM utilizada: 1 GB.
3-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)

Limitações de software

1-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).
2-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. 3-Não possui o Analysis Services, Reporting Services nem Integration Services.
4-Não suporta alguns 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.

Versão MS SQL Server Developer

A versão developer possui todas as funcionalidades da vesão Enterprise com a diferença apenas no seu licenciamento e nas ferramentas típicas de um servidor de produção.
Ela não pode ser usada em servidores de produção e se destina apenas a base de dados utilizadas no interior das empresas para testar aplicativos.

Lógicamente as funcionalidades típicas de um servidor de produção foram retiradas como Grupos de disponibilidade Always On, Criação e recriação de índice online, Recompilações de índice online retomáveis, Alteração de esquema online, Recuperação rápida, Backups espelhados, Adição de memória a quente e CPU.

Versões Pagas do MS SQL Server

Em matéria de banco de dados você deve estar perguntando...se existe um Teradata como a Oracle existe ? Se existe uma Oracle como uma Microsoft existe ? A resposta é simples : Custo * benefício.

É o mesmo que perguntar : Se existe uma Ferrari porque existe um Celta ? A resposta é simples, é o que me atende e o que eu posso comprar.

A Microsoft peca muito em termos de licenciamento. Você paga centenas de dólares para ter um windows server aí precisa de um 'terminal services' tem que comprar a parte e custa uma grana. Ela vende uma coisa cara pra caramba e fica brigando por ninharia. Deve ser por causa daquele conceito americano que acredita que pode conquistar o mundo com qualquer tipo de detalhe ou produto, como uma simples camiseta. No DSMV isso chama-se psicose mas a gente tem que pegar leve com pessoas e empresas com transtornos.

Sendo assim a versão mais básica do banco de dados MS SQL Server custa perto de US$ 300 e a mais cara perto de US$ 3.500.

Se você acha ou não caro não vem ao caso porque o que importa é o que a empresa vai ganhar utilizando a ferramenta. É como este site...pago R$150 por ano para ele ficar no ar...e pago bem mais que isso indo num mercado comprar mantimentos para uma semana. Custo * benefício vale muito a pena.

Outra coisa é que a Microsoft de vez em quando faz como a Amazon e outras empresas..dá um desconto que vale a pena aproveitar. Eu, por exemplo, comprei todas as minhas licenças do windows quando a Microsoft lançou a versão 8 e eu podia migrar de qualquer versão do windows para a 8 gratuitamente. Peguei todas as licenças de laptops, desktops que tinha e paguei R$ 65,00 pela licença do windows 8, na época. Instalei em todas as máquinas o windows 8. Aí saiu a versão 10 do windows e atualizei todas que eu pude para a versão 10. Infelizmente nem todas as máquinas aceitaram a versão 10.

Realidade sobre MS SQL Server

Se você é um cara experiente em MS SQL Server já deve notado que todo mundo consegue instalar e botar pra funcionar uma base de dados MS SQL Server sem problema por ano ou anos.

De repente aparece um problema e a equipe consegue resolver. Aí aparece outro e fica pendente. Uns 2 ou 3 anos eles resolvem contratar um DBA para resolver os problemas que eles não conseguem resolver.

Nós, DBAs, sabemos que o MS SQL Server é como uma teia de aranha, impossível esticar um ponto sem alterar a estrutura da teia toda. Nada é de graça, sem custo mas temos muitas vantagens quando usamos as medidas corretas para solucionar esses problemas.

A primeira coisa é deixar bem claro o que está sendo feito e o que está coberto e o que está sujeito a falhas porque tudo tem seu custo. .

Por exemplo, se não posso instalar uma replicação de servidor o processo de backup torna-se crítico. Ele não pode falhar e tenho que me assegurar disso. Por isso esclareço a equipe interessada nos serviços do servidor que estamos fazendo isso e aquilo e corremos o risco quando acontecer isso e aquilo.

Contudo fique certo que o problema, quando ocorrer, vai ser o pior possível. Se vai estragar um disco, não é o disco com a base de dados que você tem backup que vai pifar mas sim o disco de sistema operacional e a tela azul vai aparecer só pra te tirar do prazo de entrega de um serviço. Batata, MURPHY prevalece.

Com certeza, para ciência progredir deve haver vítimas mas tenha cuidado para que você não seja uma delas. Uma vez esclarecida o que esta sendo feito e o risco que corremos ao acontecer um incidente estaremos cobertos ou não dependendo de onde foi a incidência. Um bom dba está preparado para tudo, até o imprevisível.

Limites Profissionais

As empresas exigem muito dos profissionais dessa área e, muitas vezes se você não souber conduzir as coisas, acabará ser tornando escravo das necessidades da empresa.

Uma coisa que precisamos separar são as necessidades e ambição das empresas da pessoa que é você.

Uma coisa que achei uma boa métrica é ser profissional, separar quando estou sendo o profissional da empresa de quando estou sendo eu em casa. Não misturo, nunca, as coisas. Se passo mais noites ao lado dos servidores do que de minha esposa ou família, como as noites são feitas para descansar, acho que estou passando dos limites aceitáveis da família. É uma questão de conceito do que é ou não aceitável.