First look SQL Server 2019 Roberto Fonseca Senior

First look @ SQL Server 2019 Roberto Fonseca Senior Database Administrator PASS Director LATAM Data Platform MVP @Roberto_mct /roberto. fonseca 2 roberto. fonseca@pass. org

Agenda What is new in SQL Server 2019 Scalar UDF inlining Truncation error message improved to include Table, Column and Value (SQL Server 2017 CU 12 – 24/10/2018) Resumable online index create Static Data Mask Intelligent query processing APPROX_COUNT_DISTINCT SQL Server Management Studio (SSMS) 18. 0 (preview) Azure Data Studio Java Language Programmability Extension dm_db_page_info

Download Experimente o SQL Server 2019! • Download e instale o SQL Server 2019 no Windows • Instale no Red Hat Enterprise Server, SUSE Linux Enterprise Server, and Ubuntu. • Execute o SQL Server 2019 no Docker

OLD in SQL Server 2019 IDENTITY_CACHE (GAPs no IDENTITY nunca mais) Adaptive Query Processing (Estratégia de otimização adaptável à execução da query) Automatic Database Tuning (Automaticamente identifica e corrige problemas de performance) New Graph Database Capabilities (Relacionamento de N-N para tabelas de nós e limites) Modified_extent_page_count (Melhores soluções de backup) Dm_db_log_stats/dm_db_log_info (DBCC Log. Info)

Scalar UDF Inlining Parte da funcionalidade de Processamento de Consulta Inteligente Transforma automaticamente UDFs escalares em expressões relacionais Performance Invocação Iterativa – Repetição uma vez por linha Execução Interpretada: Plano armazenado mas cada instrução é executada em isolamento e nenhuma otimização é executada Execução Serial: Não permite paralelismo em consultas que executam UDFs. Compatibility Level 150

Truncation error message improved Mensagem de Erro “String or binary data would be truncated” Difícil de localizar o dado inválido Implantado no Cumulative Update 12 do SQL Server 2017 Ativar Trace Flag 460

Resumable Online Index Create (Rebuild) • • • Agora é possível pausar um Index Create ou Rebuild Suportado apenas para a edição Enterprise Create ou rebuild um índice UNIQUE online Permite operações de DDL concorrentes Permite ser executado múltiplas vezes para atender a janela de manutenção

Resumable Online Index Create (Rebuild) Sem Diferença de performance para Rebuild mas sim para Create em tabelas pequenas Pode ser configurado comportamento default ALTER DATABASE SCOPED CONFIGURATION SET <set_options> | ELEVATE_ONLINE = { OFF | WHEN_SUPPORTED | FAIL_UNSUPPORTED } | ELEVATE_RESUMABLE = { OFF | WHEN_SUPPORTED | FAIL_UNSUPPORTED }

Intelligent query processing Reference: https: //cloudblogs. microsoft. com

Table variable deferred compilation Variáveis do tipo Table – Usado para performance SQL Server usa estimativa de 1 linha sempre! [option (recompile)] A partir do SQL 2019, as variáveis do tipo table não serão compiladas (criado plano) até que elas tenham sido populadas. A estimativa é baseada no primeiro uso da variável e não haverá novas recompilações

Função: APPROX_COUNT_DISTINCT Criado para cenários de grandes volumes de dados (DW) Equivalente ao COUNT(DISTINCT()) Ao invés de executer um distinct sort custoso, ele apenas recupera os dados das estatísticas A margem de erro é pequena, normalmente menor que 2%.

SSMS- 18. 0 (preview) Suporte para o SQL Server 2019 Suporte para Azure SQL Managed Instance Suporte para Always Encrypted with secure enclaves Download menor (~400 MB). Metade do SSMS 17. x Não compartilha mais components do o engine Novo atributo do plano “Batch. Mode. On. Row. Store. Used” Não possui mais o Database Diagram

Azure Data Studio Chamado antigamente como SQL Operations Studio Ferramenta Cross-platform para on-premises e nuvem em ambientes Windows, Mac. OS, and Linux. Azure Data Studio complementar ao SSMS Editor de Código Transact-SQL (T-SQL) com Intelli. Sense Code snippets Dashboards customizáveis https: //docs. microsoft. com/pt-br/sql/azure-datastudio/download? view=sql-server-2017

Java Language Programmability Extension • • Execução de código Java no SQL Server Instalado quando adicionada a funcionalidade Machine Learning Services no setup

Dm_db_page_info • • • Retorna informações da uma página Substitui o comando DBCC page Permite join com a sys. dm_exec_requests e sysprocesses através da nova coluna chamada page_resource SELECT page_info. * FROM sys. dm_exec_requests AS d CROSS APPLY sys. fn_Page. Res. Cracker(d. page_resource) AS r CROSS APPLY sys. dm_db_page_info(r. db_id, r. file_id, r. page_id, 'DETAILED') AS page_info;

Summary Resumable online index create Intelligent query processing APPROX_COUNT_DISTINCT Static Data Masking SQL Server Management Studio (SSMS) 18. 0 (preview) Azure Data Studio
- Slides: 16