Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Motivi per eseguire l'aggiornamento a SQL Server 2017

Poiché SQL Server 2012 è uscito dal supporto Mainstream l'11 luglio 2017 e SQL Server 2014 uscirà dal supporto Mainstream il 9 luglio 2019 e poiché sia ​​SQL Server 2008 che SQL Server 2008 R2 cadranno dal supporto esteso su Il 9 luglio 2019, un numero crescente di clienti ha in programma di eseguire l'aggiornamento da queste versioni legacy di SQL Server a una versione più moderna (2016 o 2017).

Se stai considerando un aggiornamento a una versione moderna di SQL Server, dovresti passare a SQL Server 2016 o SQL Server 2017? La mia guida generale sarebbe quella di preferire fortemente SQL Server 2017 nella maggior parte dei casi, a meno che tu non abbia un motivo valido e tangibile per non farlo. Ad esempio, se si dispone di un software di terze parti che non è esplicitamente supportato su SQL Server 2017, potrebbe essere un blocco (anche se proverei a parlarne con il fornitore del software).

Allora perché dovresti preferire SQL Server 2017? Ecco una serie di motivi in ​​diverse categorie.

Nuove funzionalità del motore in SQL Server 2017

Anche se gran parte del lavoro di sviluppo in SQL Server 2017 è stato dedicato alla creazione di una versione eseguibile su diverse distribuzioni Linux, in SQL Server 2017 sono ancora disponibili numerose nuove utili funzionalità del motore.

Una nuova utile funzionalità è la correzione automatica del piano (che si basa sulla funzionalità dell'archivio query introdotta in SQL Server 2016). Questa funzionalità consente di rilevare e correggere automaticamente molti problemi di stabilità del piano di query. La mia collega, Erin Stellato, ha scritto in modo molto più dettagliato sulla correzione automatica del piano e su come funziona in SQL Server 2017 Enterprise Edition e nel database SQL di Azure.

Un'altra nuova funzionalità è Adaptive Query Processing (AQP) (che è abilitato con la modalità di compatibilità 140), che è molto utile per le operazioni in modalità batch utilizzate con gli indici Columnstore. AQP ha tre componenti, che includono il feedback di concessione della memoria adattiva in modalità batch, i join adattivi in ​​modalità batch e l'esecuzione interleaved per le funzioni con valori di tabella multi-istruzioni.

Ci sono anche una serie di miglioramenti diagnostici e di risoluzione dei problemi che rendono la vita di un DBA molto più semplice! Questi includono molteplici miglioramenti di Showplan che sono molto utili per l'ottimizzazione delle query, insieme a diversi nuovi DMV utili per la risoluzione dei problemi diagnostici. Query Store è ancora più efficiente in SQL Server 2017 rispetto a SQL Server 2016.

In SQL Server 2017 sono stati inoltre apportati numerosi miglioramenti "guidati dalla community", come il backup differenziale intelligente, il backup intelligente del registro delle transazioni, prestazioni di backup migliorate per database di piccole dimensioni su server di fascia alta e diagnostica e monitoraggio tempdb migliorati.

Miglioramenti alla replica

Microsoft ha reso possibile proteggere un database di distribuzione remota in un gruppo di disponibilità con SQL Server 2017 CU6. Hanno anche aggiunto la possibilità di ricaricare dinamicamente i parametri del profilo dell'agente di transazione in SQL Server 2017 CU3. In questo modo è molto più facile ottimizzare e mantenere la topologia di replica rispetto al passato.

Supporto Microsoft

Quando una versione principale di SQL Server non è più supportata dal supporto Mainstream, non sono più disponibili Service Pack o aggiornamenti cumulativi. Vengono rilasciati solo gli aggiornamenti di sicurezza mentre la versione principale è in supporto esteso. Al termine del supporto esteso, non ci sono più aggiornamenti a meno che non acquisti Microsoft Premium Assurance (disponibile solo per SQL Server 2008 e versioni successive).

Una prova recente di questa politica è il fatto che Microsoft non rilascerà una patch di sicurezza Spectre/Meltdown per SQL Server 2005. Una volta che il Regolamento generale sulla protezione dei dati (GDPR) entrerà in vigore il 25 maggio 2018, le versioni precedenti di SQL Server saranno più vulnerabili nel tempo man mano che escono dal supporto Microsoft.

SQL Server 2017 sarà completamente supportato per circa 15 mesi in più rispetto a SQL Server 2016. Microsoft ha una pagina con molte risorse sulla fine del supporto per SQL Server 2008 e 2008 R2.

Le date di fine Mainstream ed Extended Support per tutte le versioni recenti di SQL Server sono mostrate nella Tabella 1.

Versione SQL Server Fine del supporto mainstream Fine del supporto esteso
SQL Server 2005 12 aprile 2011 12 aprile 2016
SQL Server 2008
SQL Server 2008 R2
8 luglio 2014 9 luglio 2019
SQL Server 2012 11 luglio 2017 12 luglio 2022
SQL Server 2014 9 luglio 2019 9 luglio 2024
SQL Server 2016 13 luglio 2021 14 luglio 2026
SQL Server 2017 11 ottobre 2022 12 ottobre 2027

Norme sulla manutenzione di Microsoft

Microsoft SQL Server 2017 è stato rilasciato il 2 ottobre 2017 e finora sono stati rilasciati sei aggiornamenti cumulativi di SQL Server 2017. Microsoft ha adottato quello che chiamano il "modello di manutenzione moderno" per SQL Server 2017, il che significa che non ci saranno Service Pack per SQL Server 2017 o versioni future.

Al contrario, ci saranno aggiornamenti cumulativi mensili per il primo anno e quindi aggiornamenti cumulativi trimestrali per i prossimi quattro anni. Ciò significa che i difetti verranno risolti molto più rapidamente durante il primo anno dopo il rilascio. SQL Server 2017 è stato rilasciato abbastanza a lungo da poterlo considerare abbastanza stabile.

Microsoft non solo corregge difetti specifici negli aggiornamenti cumulativi, ma rilascia anche nuove funzionalità e altri miglioramenti del prodotto, che spesso si concentrano sul miglioramento delle prestazioni. Di seguito è riportato l'elenco degli aggiornamenti e dei miglioramenti per SQL Server 2017, a partire da CU6.

SQL Server 2017 CU6

  • Aggiornamento per supportare l'eliminazione delle partizioni nei piani di query con indici spaziali in SQL Server 2016 e 2017
  • Miglioramento:abilita il meccanismo di "risciacquo forzato" in SQL Server 2017 su Linux

SQL Server 2017 CU5

  • Una migliore risoluzione dei deadlock del parallelismo tra le query in SQL Server 2017
  • Migliora le prestazioni delle query quando viene applicato un filtro bitmap ottimizzato a un piano di query in SQL Server 2016 e 2017

SQL Server 2017 CU4

  • Miglioramento:migliora le prestazioni di SQL Server 2017 su sistemi più piccoli

SQL Server 2017 CU3

  • L'aggiornamento aggiunge il supporto per l'opzione MAXDOP per le istruzioni CREATE STATISTICS e UPDATE STATISTICS in SQL Server 2017
  • Migliora la diagnostica di spill di tempdb in DMV e gli eventi estesi in SQL Server 2017
  • L'aggiornamento consente a Showplan XML di fornire un elenco di statistiche utilizzate durante l'ottimizzazione delle query in SQL Server 2017
  • L'aggiornamento aggiunge le statistiche di esecuzione di una funzione definita dall'utente con valori scalari al file XML Showplan in SQL Server 2017
  • L'aggiornamento aggiunge informazioni sull'obiettivo della riga dell'ottimizzatore nei piani di esecuzione delle query in SQL Server 2017
  • L'aggiornamento abilita la tecnologia PolyBase in SQL Server 2016 e 2017
  • L'aggiornamento aggiunge l'impostazione del timeout della CPU al gruppo di lavoro di Resource Governor REQUEST_MAX_CPU_TIME_SEC in SQL Server 2017

SQL Server 2017 CU2

  • Aggiornamento per la procedura di pulizia manuale del rilevamento delle modifiche in SQL Server 2017
  • Miglioramento:miglioramenti generali al processo di pulizia del rilevamento delle modifiche in SQL Server 2017
  • L'aggiornamento aggiunge un nuovo evento esteso "marked_transaction_latch_trace" in SQL Server 2017 su Linux e Windows
  • Miglioramento delle prestazioni per il filtro intermedio spaziale in SQL Server 2017

SQL Server 2017 CU1

  • Aggiornamento per migliorare le prestazioni per le viste a gestione dinamica columnstore "column_store_row_groups" e "dm_db_column_store_row_group_physical_stats" in SQL Server 2016 o 2017
  • Aggiungi la possibilità di disabilitare o abilitare alcuni nuovi DMV e DMF introdotti in SQL Server 2017
  • Miglioramento:è stata aggiunta una nuova parola chiave alle istruzioni CREATE e UPDATE STATISTICS per mantenere la frequenza di campionamento per futuri aggiornamenti delle statistiche in SQL Server

Anche se potresti pensare che SQL Server 2017 fosse "solo una porta Linux", in realtà ci sono molti miglioramenti nel mondo reale nel Motore di database di base che andranno a vantaggio di tutte le piattaforme. Microsoft continua ad aggiungere funzionalità aggiuntive al prodotto negli aggiornamenti cumulativi di SQL Server 2017 e SQL Server 2017 sarà completamente supportato da Microsoft per un periodo di tempo più lungo rispetto a SQL Server 2016.