São milhares de novidades para esta nova versão do SQL Server 2019. Nossa equipe de especialistas já começaram a usar esta nova versão, conheça a opinião deles de cada feature nova.

Solução de Big Data escalonável

É possível armazenar conteúdos de Big Data em servidores clusterizados, garantido uma melhor disponibilidade de um sistema grande. Também, graças a este novo recurso, é possível consultar dados de várias fontes externas por meio do recurso de cluster e usar dados para Machine Learning e IA;

Banco de dados externos

Comunicação com outros sistemas de Banco de Dados externos, além do SQL Server, como Oracle, Teradata, MongoDB e outras fontes ODBC;

Processamento de consulta inteligente às bases de dados

Consulta e processamento em memória, evitando registro em disco;

  • Execução de consultas em modo de lotes, evitando a utilização de índices columnstores. Somente após a versão 2019, este modo de lotes é habilitado em cargas de trabalho analíticas, cujas consultas podem usar qualquer tipo de índice. Nas versões anteriores, somente se uma tabela possuísse um índice columnstore que teria este recurso;
  • Novos comandos para consultas, como o APPROX_COUNT_DISTINCT que, caso não seja necessário um resultado absoluto, agrega um conjunto de resultados e usa menos recursos que os comandos tradicionais, como o COUNT comum;
  • Bancos de Dados em Memória: Novos recursos como pool de buffers híbrido que permite que as páginas dos arquivos de banco de dados sejam acessados diretamente pela memória;
  • Metadados da TempDB com otimização de memória. Proporciona um novo nível de escalabilidade para cargas de trabalho que utilizam intensamente a TempDB. Tabelas temporárias que são envolvidas na TempDB podem ser movidas para tabelas com memória otimizada não duráveis e livre de travamentos;

Desempenho Inteligente

  • Novo comando OPTMIZE_FOR_SEQUENTIAL_KEY: ativa uma otimização no banco de dados que melhora a taxa de transferência para INSERTs de alta simultaneidade em um índice que possua chave sequencial, ou uma coluna do tipo IDENTITY e/ou datetime;
  • Repositório de Consultas para CURSORs: Força a imposição de um plano de execução de baixo custo para CURSORs de avanço rápido e/ou estáticos;
  • O comando REQUEST_MAX_MEMORY_GRANT_PERCENT para criações e/ou alterações de WORKLOAD GROUPs agora possui um valor configurável. Foi alterado de INT para FLOAT, o que permite um controle maior dos limites de memória;
  • Número reduzidos de recompilações automáticas (comando RECOMPILE). O que melhora o desempenho das consultas ao usar tabelas temporárias em vários escopos;

Atualização simultânea de Page File Space

PFS são páginas dentro de um arquivo de banco de dados que o SQL Server utiliza para localizar um espaço livre ao reservar um espaço para um determinado objeto. Na maioria das vezes, a TempDB é usada, porém as bases de dados das aplicações (ou de usuários) também podem ser usadas quando há uma carga massiva de novos objetos para o banco. Este novo recurso do SQL 2019 altera a forma com essa reserva de espaço é feita, agora é simultânea, ou seja, essa trava é compartilhada em vez de uma trava exclusiva;

Novos recursos para monitoramento

Novos comandos para análise de tuning e melhoria de performance:

  • WAIT_ON_SYNCSTATISTICS_REFRESH – Mostra o tempo de nível da instância gasto em operações de UPDATE STATISTICS;
  • Nova opção para ALTER DATABASE SET para enviar resultados de relatórios padrões de consultas do SQL para outro servidor à parte, ao invés de processá-lo no mesmo em que os bancos de dados estão;
  • Nova opção para configuração de um banco de dados LIGHTWEIGHT_QUERY_PROFILING;

Novas DMVs:

  • sys.dm_exec_query_plan_stats: mostra o mesmo que um execution plan real para todas as consultas com novas informações de custo. O que auxilia ainda mais um DBA na identificação de altos custos para melhoria de performance em consulta a banco de dados;
  • LAST_QUERY_PLAN_STATS: Uma nova configuração ao criar e/ou alterar uma base de dados (ALTER DATABASE SCOPED CONFIGURATION) que habilita a DMV explicada acima;
  • sys.dm_db_page_info: mostra informações sobre paginação de um banco de dados.

Suporte a Unicodes

Especialmente para empresas globais cujas aplicações devem atender a diversos países com clientes em diversos idiomas diferentes e cumprir regulamentos de mercados específicos;             

Suporte a linguagens externas, como o Java

Sim. Já é possível executar códigos em Java dentro do SQL Server. Há um comando novo chamado CREATE EXTERNAL LANGUAGE que registra linguagens externas como a do Java Runtime.

Novo tipo de mensagem de erro para comandos TRUNCATE

Quando um ETL (para carga, extração ou manipulação de dados) falha porque a origem e/ou destino não são correspondentes, o troubleshooting para solucionar o problema costuma demorar porque exige uma investigação. No SQL 2019, a mensagem de erro já exibe os nomes das tabelas, colunas e o dado que foi removido pelo comando TRUNCATE

Melhoria de segurança de dados

  • Always Encrypted com enclaves seguros. Habilita cálculos em dados de texto sem a necessidade de uma formatação no enclave seguro do servidor, evitando a movimentação de dados para fora do banco em que está sendo consultado.
  • Classificação de dados. O SQL Server 2019 possui um novo recurso para classificar os dados armazenados, como aqueles que são confidenciais. A depender da configuração, nem mesmo o administrador poderá ver as informações que ele monitorar. No recurso de Auditoria do SQL, é possível agora, através da nova opção [data_sensitivity_information] no log, ver quais dados são confidenciais e se foram acessados indevidamente.

Novas opções para os recursos de Alta Disponibilidade (High Availability)

  • Até 5 réplicas síncronas. Nas versões anteriores, o máximo permitido eram 3. Agora, é possível configurar até 1 instância primária principal e mais 4 secundárias síncronas com failover automático entre elas;
  • No recurso AlwaysOn do SQL 2019, é possível configurar para que as aplicações finais das empresas (nível cliente) sejam direcionadas sempre à uma instância primária principal, independentemente da cadeia de conexão (connection string) pela qual foi configurada;

Recuperação de dados acelerada

Ao reiniciar uma instância de banco de dados, ela demora menos tempo no estado In Recovery;

Suporte a Linux

Sim, isso mesmo. É possível sim instalar o SQL Server da Microsoft no sistema operacional Linux agora, como o Red Hat

Serviços de Machine Learning em cluster de failover do Windows Server

Com o SQL Server 2019, é possível criar este novo recurso dentro deste sistema de Alta Disponibilidade mesmo;

Novos recursos para Analysis Services

Como cálculos de modelos tabulares, intercalação de consultas, novas configurações de memória para governança de recursos, uma nova propriedade [ClientCacheRefreshPolicy] para carregamento inicial de relatórios do Power BI.

E muito mais…

A versão 2019 vale muito à pena devido a estes novos recursos. Principalmente porque agora é possível utilizar um software Microsoft em outros sistemas operacionais que não é o Windows e escrever outras linguagens de programação que não seja SQL (ou ANSI) dentro da ferramenta do SQL Server. Isso permitirá um avanço significativo em integrações de sistemas operacionais e melhores performances, tanto on premises quanto em cloud (Azure, AWS, etc).

Nossa equipe de especialistas de dados da Arbit, que são apaixonados por SQL Server, está preparada para prestar toda assistência necessária caso nossos clientes optem em fazer este upgrade. Fale com nossos especialistas.