Em 2 de novembro de 2021, a Microsoft anunciou a prévia privada do SQL Server 2022, que deve ser lançado em breve.
Este anúncio público que ocorreu no Microsoft Ignite quebra um longo período de silêncio total sobre a próxima versão do SQL Server. Esta postagem é sobre alguns dos novos recursos e melhorias mais interessantes do SQL Server 2022 .
SQL Server 2022
Devido às limitações de tempo do Ignite e outras considerações de marketing, a Microsoft anunciou apenas um subconjunto de novos recursos e melhorias no SQL Server 2022.
Novos recursos do SQL Server 2022
Estes são alguns dos novos recursos relacionados ao desempenho mais interessantes que conhecemos até agora:
Otimização de plano sensível a parâmetros
Com o SQL Server 2019 e anteriores, você geralmente terá alguns procedimentos armazenados que são muito sensíveis a quais valores de parâmetro de entrada foram usados na primeira vez que o procedimento armazenado foi executado. O SQL Server usará a detecção de parâmetro para obter o valor do parâmetro e chegar a um plano de consulta “bom o suficiente” com base nesse valor de parâmetro inicial.
Por exemplo, com alguns valores de parâmetro que retornam apenas algumas linhas, o SQL Server pode usar uma busca de índice. Com outros valores de parâmetro que retornam muitas, muitas linhas, o SQL Server pode usar uma verificação de índice. Qualquer que seja o valor do parâmetro usado na primeira vez que a consulta é executada, determina o tipo de plano de consulta (busca ou varredura) que vai para o cache do plano.
A detecção de parâmetros geralmente funciona muito bem, mas às vezes causa terríveis regressões de desempenho, sem nenhuma razão facilmente aparente. O desempenho é bom e, de repente, fica terrível, porque um plano de consulta “ruim” é armazenado em cache. Há muitas maneiras (incluindo o uso de congelamento de plano no Query Store) para tentar evitar esse problema comum.
O que há de novo no SQL Server 2022
A Otimização de Plano Sensível a Parâmetros armazenará em cache intencionalmente vários planos de consulta ativos sensíveis a parâmetros por procedimento armazenado ou consulta parametrizada. Isso tem o potencial de mitigar muitos problemas comuns com planos de consulta sensíveis a parâmetros, sem quaisquer alterações de código e sem usar o armazenamento de consulta.
Tudo o que você precisa fazer para obter essa funcionalidade é alterar o nível de compatibilidade do banco de dados para 160. Essa pode ser uma das maiores melhorias em toda a versão 2022 do SQL Server!
Melhorias nas Consultas
No SQL Server 2022, o armazenamento de consulta será habilitado por padrão em novos bancos de dados. Isso mostra o quão confiante a Microsoft está nos benefícios do Query Store. Se você restaurar um banco de dados de uma versão mais antiga do SQL Server, ainda terá que habilitar o Query Store por conta própria. Este é o mesmo comportamento que vimos desde o SQL Server 2016.
Existem também aprimoramentos adicionais de Intelligent Query Processing (IQP) no Query Store. Isso inclui feedback do modelo MAXDOP e CE usando Query Store para criar um ciclo de feedback para adaptar e resolver automaticamente problemas com padrões de consulta comuns relacionados aos modelos MAXDOP e CE. Também há novos aprimoramentos no feedback de concessão de memória, incluindo persistência e novos algoritmos para lidar suavemente com flutuações de concessão de memória. Isso terá como base os aprimoramentos do IQP no SQL Server 2017 e 2019.
O Query Store agora terá suporte em réplicas somente leitura AG, permitindo análise de desempenho em suas cargas de trabalho somente leitura. Você também poderá usar dicas do Query Store para moldar planos de consulta com mais facilidade, sem alterações de código.
Resumindo
O SQL Server 2022 parece um grande lançamento, mesmo com base nas informações públicas limitadas que temos até agora.