Quais são os motivos objetivos para preferir o SQL Server 2016 em relação às versões anteriores?

29

Como a Microsoft faz atualizações de versão do SQL Server com mais frequência desde os dias do SQL Server 2005 ou 2008, muitas empresas acham difícil determinar quando uma atualização é "necessária"! e quando uma atualização é "agradável de ter"

No espírito de algumas perguntas anteriores, perguntando sobre os motivos para preferir várias versões mais recentes do SQL Server às anteriores, quais são alguns dos motivos técnicos ou comerciais objetivos que uma empresa pode considerar para uma atualização para o SQL Server 2016 em uma versão anterior, até mais tarde lançamento como o SQL Server 2014?

(Esta pergunta sobre o SQL Server 2012 em comparação com o SQL Server 2008, ou esta sobre o SQL Server 2012 em comparação com o SQL Server 2005 vem à mente como exemplos do espírito dessa pergunta. As respostas para elas também se expandem em alguns dos motivos aqui para empresas iniciando no SQL Server 2008 ou SQL Server 2005)

Mike Walsh
fonte

Respostas:

36

Há vários motivos para considerar uma atualização para o SQL Server 2016. Na maioria das vezes, esses motivos variam de acordo com a versão do SQL Server de origem. Esta não será uma lista exaustiva, mas darei algumas razões que me vêm à mente. Incluindo um motivo muito importante que aprendemos sobre o lançamento do SQL Server 2016 SP1 em novembro de 2016. Ansioso para ver outras respostas sobre expansão ou recursos que eu perdi.

Grande razão: muitos recursos disponíveis na edição padrão agora

Em 16 de novembro de 2016, a Microsoft anunciou o lançamento do Service Pack 1 para SQL Server 2016. Juntamente com este comunicado, eles também anunciaram que muitos recursos anteriormente reservados aos clientes do Enterprise Edition estariam disponíveis em todas as edições do SQL Server - Standard, Express (com algumas exceções), além da Web e da Enterprise Edition.

Esse deve ser um motivo muito convincente para a atualização de fornecedores de software que desenvolvem e vendem software com um back-end do SQL Server - muitos recursos agora podem estar disponíveis para seus clientes, independentemente da edição licenciada do SQL Server. Isso também é atraente para empresas de setores que precisam manter auditorias ou outros aprimoramentos de segurança que foram adicionados ao produto ao longo do tempo.

Na minha humilde opinião, em mais de 17 anos trabalhando com o SQL Server, isso torna o SQL Server 2016 SP1 possivelmente a atualização mais atraente ainda desde que comecei a trabalhar com o SQL Server na versão 6.5. (Não me interpretem mal, os anos 2000, 2005 e 2012 também tiveram seus profissionais também!)

Observe a lista abaixo, mas, como exemplo rápido de alguns dos recursos que você pode usar agora na Standard Edition, você tem: Compactação, Captura de dados alterados, Auditoria refinada, Segurança em nível de linha, Sempre criptografado, Particionamento, Banco de dados Instantâneos, OLTP na memória, armazenamento de colunas.

Razões específicas para novos recursos do SQL Server 2016

Estou tentando manter os motivos aqui nesta seção para os recursos introduzidos apenas no SQL Server 2016. Também estou descrevendo apenas os aprimoramentos do mecanismo principal nesta resposta, não os relatórios, análises, integração de dados etc.

Relacionado à segurança

Segurança no nível da linha - tenho muitos clientes que desejam implementar a segurança linha por linha. "O usuário x pode visualizar dados nesta linha, mas não nessa linha". Muitos desses clientes criaram funções e / ou estruturas complicadas baseadas em exibição para fazer isso. No SQL Server 2016, existem predicados e diretivas de segurança disponíveis para ajudar aqui. Você pode ler mais sobre o RLS aqui .

Mascaramento Dinâmico de Dados - Este parece ótimo no papel, mas eu me pergunto se será menos útil do que as outras duas alterações na área de segurança. Basicamente, você pode mascarar ou ofuscar dinamicamente os dados no momento da consulta com base nas permissões do chamador. A quantidade de dados a serem ofuscados é algo programável. Por exemplo, no exemplo que a Microsoft usa, você pode mascarar todos os quatro dígitos finais de um número de cartão de crédito, para que um atendedor de chamadas em um call center possa verificar esses quatro dígitos finais. Você pode ler mais sobre isso aqui .

Sempre criptografado - Talvez você tenha ouvido falar de algumas das falhas ou preocupações sobre a criptografia transparente de dados. Talvez você não queira usar a TDE por medo de que alguém com acesso ao SA possa decifrar definitivamente, se quiser. O Always Encrypted foi lançado como um recurso que coloca a capacidade de descriptografar / criptografar nas mãos do aplicativo que está chamando o SQL Server. Os dados em repouso no SQL Server são criptografados. Os dados em andamento para o SQL Server também são criptografados como resultado dessa abordagem. Você pode ler mais sobre Always Encrypted aqui .

Recursos de HA / DR

Alguns recursos vieram aqui. Uma é a capacidade de usar os Grupos de Disponibilidade AlwaysOn no SQL Server Standard - o Grupo de Disponibilidade Básica. Isso foi necessário, pois o espelhamento foi descontinuado e não teve substituição. A funcionalidade é limitada ao número de réplicas e à abordagem de sincronização. Você pode ler mais aqui .

Essa não é a única alteração nos Grupos de Disponibilidade (que, a propósito, foram introduzidos no SQL Server 2012). Existem também algumas outras alterações (você pode ver a lista completa com links para outras alterações aqui ):

  1. As contas de serviço gerenciado do grupo são suportadas.
  2. Transações distribuídas são suportadas (com algumas ressalvas ).
  3. As conexões com intenção de leitura podem ser balanceadas por carga entre réplicas somente leitura.
  4. Agora, três réplicas podem estar envolvidas em failovers automáticos.
  5. Os bancos de dados criptografados agora podem participar de um Grupo de Disponibilidade AlwaysOn.
  6. Melhorias de desempenho - parte do tema do SQL Server 2016 é "é apenas mais rápido" - esse é o giro do Microsoft Marketing, mas está se mostrando no mercado. Várias melhorias foram feitas no desempenho do Grupo de Disponibilidade.

O instalador corrige alguns erros comuns

O instalador do SQL Server a partir do SQL Server 2016 corrige alguns erros comuns cometidos ao configurar o TempDB. A GUI de instalação o guia através da configuração das melhores práticas agora.

Query Store

Um favorito entre os MVPs e sintonizadores do SQL Server. Esse recurso é uma ferramenta para fornecer informações sobre como as consultas são executadas pelo mecanismo. Especialmente útil no rastreamento de problemas de desempenho causados ​​por alterações nos planos de consulta ao longo do tempo. Esta pode ser uma ferramenta para visualizar, mas também uma ferramenta para corrigir. Ajuda a simplificar alguns conceitos de ajuste de desempenho. Você pode ler mais sobre isso aqui .

Mesas Temporais

Frequentemente, vejo a necessidade de fazer uma pergunta como "Como eram esses dados em tal data e tal"? Tabelas temporais são um método para fazer isso. Definitivamente, existem alguns casos de uso de armazenamento. Veja mais aqui .

Melhorias no Columnstore

Três grandes melhorias para mim aqui, entre algumas outras. Um é índices columnstore não clusterizáveis ​​atualizáveis. O SQL Server 2014 nos forneceu um cluster atualizável, mas agora temos atualizável não-confiável. O SQL Server 2016 também permite índices columnstore em tabelas OLTP na memória. E a capacidade de colocar um índice não clusterizado tradicional da Árvore B em um índice columnstore clusterizado agora existe no SQL Server 2016.

Aprimoramentos de recursos adicionais no OLTP na memória

Vários dos recursos que não eram suportados nas tabelas In-Memory ou nos procedimentos compilados nativamente estão agora disponíveis. Algumas adições (mas consulte este artigo para obter mais informações): Restrições UNIQUE, Restrições de verificação, cláusula OUTPUT no DML, Junção externa, Subconsultas na lista de seleção, SELECT DISTINCT, UNION / UNION ALL e muito mais.

Melhorias gerais de desempenho

O SQL Server 2014 fez algumas melhorias no desempenho em várias áreas-chave, como cada versão. O SQL Server 2016 fez aprimoramentos adicionais importantes em todo o produto. Isso inclui eliminar para muitos clientes algumas das dificuldades encontradas durante a atualização para o SQL Server 2014 devido a alterações no estimador de cardinalidade. Várias mudanças para cima e para baixo no mecanismo foram feitas para melhorar o desempenho diário. A equipe de CSS da Microsoft publicou um blog sobre isso em seu blog. Você pode simplesmente procurar "SQL Server 2016, ele roda mais rápido". Um exemplo de post para esta série está aqui .

Eu já vi isso acontecer em clientes que fizeram upgrade e esperamos vê-lo cada vez mais.

Alguns Contras

Obviamente, há contras em qualquer atualização. Pode ser porque eu faço isso para ganhar a vida como consultor, mas acho que todos os contras são incrivelmente gerenciáveis ​​e realmente os consideram "conte primeiro o custo" itens para conhecer e gerenciar.

Atualizações em geral - Em geral, as atualizações significam que você está introduzindo novas funcionalidades. Você precisa poder testá-los. Entre as versões do SQL Server, vários recursos estão obsoletos. Isso não significa que eles desaparecem imediatamente, mas significa que podem em versões futuras, geralmente três versões depois. Por exemplo, o tipo de dados TEXT ou as junções externas na cláusula where com o *=ou=*sintaxe não é suportada se você for proveniente de um banco de dados em execução no modo de compatibilidade do SQL Server 2000. Falando em modos de compatibilidade - eles também retornam apenas três versões. Portanto, se você tiver um banco de dados em execução nos modos de compatibilidade 80 (SQL Server 2000) ou 90 (SQL Server 2005), eles não poderão passar para o SQL Server 2016 assim. Portanto, se você está evitando fazer esses testes e obter níveis de compatibilidade, é hora de fazer um acerto de contas.

Novamente. Isso é fácil. Existem ferramentas disponíveis para ajudar a capturar e testar dados para ver quais interrupções. Existem contadores perfmon que podem ajudar a procurar recursos obsoletos.

Licenciamento - Duas coisas aqui:

  1. Baseado no núcleo - se você está acostumado a pré-termos de licenciamento do SQL Server 2012, licenças de CPU eram exatamente isso - licenças de CPU. Desde o SQL Server 2012, as licenças baseadas em CPU têm sido baseadas no núcleo. Portanto, há um período de ajuste lá. Também o Enterprise para novas licenças (com algumas exceções que foram feitas quando o lançamento de 2012) deve serser licenciado no nível principal - sem servidor + CAL para empresas. O lado positivo desta nuvem aqui é o que eu disse sobre o SP1, permitindo recursos corporativos em SKUs não corporativos. Se você precisar de mais de 128 GB de RAM. Se você precisar das melhorias avançadas no desempenho das verificações. Se você precisar de mais de 32 GB de RAM para um columnstore ou In-Memory, então você está olhando para Enterprise. Se não E você não precisa de recriações de índice online? O padrão pode ser apenas para você, e pode ser mais para você agora com esses recursos disponíveis recentemente.
  2. Software Assurance (SA) - se você não comprou o SA, precisa comprar um novo. Portanto, se você estiver executando o SQL Server 2005 e estiver preocupado com a falta de suporte convencional, não muito longe do final do suporte estendido e desejar ter os recursos disponíveis agora, não poderá simplesmente atualizar como um Service Pack. Se você nunca comprou o SA, sua atualização é uma nova compra. Tudo bem, realmente vale a pena. Mas é algo que precisa atingir o orçamento.

Sumário

Existem muitos outros motivos, como suporte a JSON, introdução de R etc. Mas esses são apenas alguns dos motivos pelos quais eu consideraria uma atualização. O item mais importante, novamente, é a capacidade de usar muitos recursos anteriormente exclusivos da Enterprise Edition no Standard ou mesmo no Express. Vi grandes histórias de sucesso entre meus clientes e espero ver mais.

E se você estiver usando o SQL Server 2005 ou 2008, a lista é ainda maior. Os Grupos de Disponibilidade AlwaysOn foram lançados em 2012, os índices Columnstore no SQL Server 2012, o OLTP na memória no SQL Server 2014, etc.

Sem mencionar se você ainda está no SQL Server 2005 ou 2008, está sem suporte convencional.

Mike Walsh
fonte
2
Tudo isso + razão real dos negócios - o ciclo de vida mais longo. As pessoas que ainda trabalham no SQL2000 não podem atualizar o Windows, o Windows antigo não está instalado no novo servidor e todos esses problemas aumentam um a um. Para o negócio - JSON e outros, é apenas o suporte de TI brinquedos ... parada eles entendem
a_vlad