Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Gründe für ein Upgrade auf SQL Server 2017

Da SQL Server 2012 am 11. Juli 2017 aus dem Mainstream-Support herausgefallen ist, wird SQL Server 2014 am 9. Juli 2019 aus dem Mainstream-Support herausfallen, und da sowohl SQL Server 2008 als auch SQL Server 2008 R2 aus dem Extended Support herausfallen werden 9. Juli 2019, ich hatte eine steigende Anzahl von Kunden, die ein Upgrade von diesen Legacy-Versionen von SQL Server auf eine modernere Version (entweder 2016 oder 2017) planen.

Wenn Sie ein Upgrade auf eine moderne Version von SQL Server in Betracht ziehen, sollten Sie zu SQL Server 2016 oder zu SQL Server 2017 wechseln? Meine allgemeine Empfehlung wäre, SQL Server 2017 in den meisten Fällen stark zu bevorzugen, es sei denn, Sie haben einen triftigen, greifbaren Grund, dies nicht zu tun. Wenn Sie beispielsweise Software von Drittanbietern haben, die von SQL Server 2017 ausdrücklich nicht unterstützt wird, könnte dies ein Blocker sein (obwohl ich versuchen würde, mit Ihrem Softwareanbieter darüber zu sprechen).

Warum sollten Sie also SQL Server 2017 bevorzugen? Hier sind eine Reihe von Gründen in verschiedenen Kategorien.

Neue Engine-Features in SQL Server 2017

Obwohl ein Großteil der Entwicklungsarbeit in SQL Server 2017 darauf verwendet wurde, eine Version zu erstellen, die auf mehreren verschiedenen Linux-Distributionen ausgeführt werden kann, gibt es in SQL Server 2017 immer noch eine Reihe nützlicher neuer Engine-Features.

Eine nützliche neue Funktion ist die automatische Plankorrektur (die auf der Abfragespeicherfunktion basiert, die in SQL Server 2016 eingeführt wurde). Dieses Feature hilft bei der Erkennung und automatischen Korrektur vieler Probleme mit der Stabilität von Abfrageplänen. Meine Kollegin Erin Stellato hat ausführlicher über die automatische Plankorrektur und ihre Funktionsweise in SQL Server 2017 Enterprise Edition und Azure SQL-Datenbank geschrieben.

Ein weiteres neues Feature ist Adaptive Query Processing (AQP) (das mit Kompatibilitätsmodus 140 aktiviert wird), was sehr hilfreich für Batchmodusvorgänge ist, die mit Columnstore-Indizes verwendet werden. AQP besteht aus drei Komponenten, darunter Feedback zur Gewährung von adaptivem Speicher im Stapelmodus, adaptive Joins im Stapelmodus und verschachtelte Ausführung für Tabellenwertfunktionen mit mehreren Anweisungen.

Es gibt auch eine Reihe von Verbesserungen bei der Diagnose und Fehlerbehebung, die das Leben eines DBA viel einfacher machen! Dazu gehören mehrere Showplan-Verbesserungen, die für die Abfrageoptimierung sehr nützlich sind, sowie mehrere neue DMVs, die für die diagnostische Fehlerbehebung nützlich sind. Der Abfragespeicher ist in SQL Server 2017 im Vergleich zu SQL Server 2016 sogar noch effizienter.

Es gab auch mehrere „Community-gesteuerte“ Verbesserungen in SQL Server 2017, wie z. B. intelligente differenzielle Sicherung, intelligente Transaktionsprotokollsicherung, verbesserte Sicherungsleistung für kleine Datenbanken auf High-End-Servern und verbesserte tempdb-Diagnose und -Überwachung.

Replikationsverbesserungen

Microsoft hat es möglich gemacht, eine Remoteverteilungsdatenbank in einer Verfügbarkeitsgruppe mit SQL Server 2017 CU6 zu schützen. Sie haben auch die Möglichkeit hinzugefügt, Profilparameter von Transaktionsagenten in SQL Server 2017 CU3 dynamisch neu zu laden. Dies macht es viel einfacher, Ihre Replikationstopologie zu optimieren und zu warten, als es in der Vergangenheit war.

Microsoft-Support

Sobald eine Hauptversion von SQL Server aus dem Mainstream-Support herausfällt, gibt es keine Service Packs oder kumulativen Updates mehr. Während sich die Hauptversion im erweiterten Support befindet, werden nur Sicherheitsupdates veröffentlicht. Nach Ablauf des erweiterten Supports gibt es überhaupt keine Updates mehr, es sei denn, Sie erwerben Microsoft Premium Assurance (nur für SQL Server 2008 und höher verfügbar).

Ein jüngster Beweis für diese Richtlinie ist die Tatsache, dass Microsoft keinen Spectre/Meltdown-Sicherheitspatch für SQL Server 2005 veröffentlichen wird. Sobald die Datenschutz-Grundverordnung (DSGVO) am 25. Mai 2018 in Kraft tritt, werden ältere Versionen von SQL Server dies tun mit der Zeit anfälliger, da sie aus dem Microsoft-Support herausfallen.

SQL Server 2017 wird etwa 15 Monate länger vollständig unterstützt als SQL Server 2016. Microsoft hat eine Seite mit vielen Ressourcen zum Ende des Supports für SQL Server 2008 und 2008 R2.

Die Enddaten für Mainstream und Extended Support für alle neueren Versionen von SQL Server sind in Tabelle 1 aufgeführt.

SQL Server-Version Ende des Mainstream-Supports Ende des erweiterten Supports
SQL Server 2005 12. April 2011 12. April 2016
SQL Server 2008
SQL Server 2008 R2
8. Juli 2014 9. Juli 2019
SQL Server 2012 11. Juli 2017 12. Juli 2022
SQL Server 2014 9. Juli 2019 9. Juli 2024
SQL Server 2016 13. Juli 2021 14. Juli 2026
SQL Server 2017 11. Oktober 2022 12. Oktober 2027

Microsoft-Wartungsrichtlinie

Microsoft SQL Server 2017 wurde am 2. Oktober 2017 veröffentlicht, und bisher wurden sechs kumulative Updates für SQL Server 2017 veröffentlicht. Microsoft hat das sogenannte „Modern Servicing Model“ für SQL Server 2017 eingeführt, was bedeutet, dass es keine Service Packs für SQL Server 2017 oder zukünftige Versionen geben wird.

Stattdessen gibt es monatliche kumulative Updates für das erste Jahr und dann vierteljährliche kumulative Updates für die nächsten vier Jahre danach. Das bedeutet, dass Fehler im ersten Jahr nach der Veröffentlichung viel schneller behoben werden. SQL Server 2017 wurde lange genug veröffentlicht, sodass ich es für recht stabil halte.

Microsoft behebt nicht nur bestimmte Fehler in kumulativen Updates, sondern veröffentlicht auch neue Funktionen und andere Produktverbesserungen, die häufig auf die Verbesserung der Leistung ausgerichtet sind. Hier ist die Liste der Updates und Verbesserungen für SQL Server 2017 ab CU6.

SQL Server 2017 CU6

  • Aktualisierung zur Unterstützung der Partitionsbeseitigung in Abfrageplänen mit räumlichen Indizes in SQL Server 2016 und 2017
  • Verbesserung:Aktivieren Sie den „Forced Flush“-Mechanismus in SQL Server 2017 unter Linux

SQL Server 2017 CU5

  • Bessere Fehlerbehebung bei abfrageinternen Parallelitäts-Deadlocks in SQL Server 2017
  • Verbessert die Abfrageleistung, wenn ein optimierter Bitmapfilter auf einen Abfrageplan in SQL Server 2016 und 2017 angewendet wird

SQL Server 2017 CU4

  • Verbesserung:Verbessert die Leistung von SQL Server 2017 auf kleineren Systemen

SQL Server 2017 CU3

  • Update fügt Unterstützung für die MAXDOP-Option für CREATE STATISTICS- und UPDATE STATISTICS-Anweisungen in SQL Server 2017 hinzu
  • Verbesserung der tempdb-Spill-Diagnose in DMV und erweiterten Ereignissen in SQL Server 2017
  • Update ermöglicht es XML-Showplans, eine Liste mit Statistiken bereitzustellen, die während der Abfrageoptimierung in SQL Server 2017 verwendet werden
  • Update fügt der Showplan-XML-Datei in SQL Server 2017 Ausführungsstatistiken einer skalarwertigen, benutzerdefinierten Funktion hinzu
  • Update fügt Optimierer-Zeilenzielinformationen in Abfrageausführungsplänen in SQL Server 2017 hinzu
  • Update aktiviert die PolyBase-Technologie in SQL Server 2016 und 2017
  • Update fügt CPU-Timeout-Einstellung zur Ressourcenkontrolle-Arbeitsgruppe REQUEST_MAX_CPU_TIME_SEC in SQL Server 2017 hinzu

SQL Server 2017 CU2

  • Update für das Bereinigungsverfahren für die manuelle Änderungsnachverfolgung in SQL Server 2017
  • Verbesserung:Allgemeine Verbesserungen am Bereinigungsprozess der Änderungsnachverfolgung in SQL Server 2017
  • Update fügt ein neues erweitertes Ereignis „marked_transaction_latch_trace“ in SQL Server 2017 unter Linux und Windows hinzu
  • Leistungsverbesserung für Spatial Intermediate Filter in SQL Server 2017

SQL Server 2017 CU1

  • Aktualisierung zur Verbesserung der Leistung für dynamische Columnstore-Verwaltungsansichten „column_store_row_groups“ und „dm_db_column_store_row_group_physical_stats“ in SQL Server 2016 oder 2017
  • Fügen Sie die Möglichkeit hinzu, einige neue DMVs und DMFs zu deaktivieren oder zu aktivieren, die in SQL Server 2017 eingeführt wurden
  • Verbesserung:Den CREATE- und UPDATE STATISTICS-Anweisungen wurde ein neues Schlüsselwort hinzugefügt, um die Abtastrate für zukünftige Statistikaktualisierungen in SQL Server beizubehalten

Auch wenn Sie vielleicht denken, dass SQL Server 2017 „nur eine Linux-Portierung“ war, gibt es tatsächlich viele reale Verbesserungen in der zentralen Datenbank-Engine, die allen Plattformen zugute kommen. Microsoft fügt dem Produkt in den kumulativen Updates für SQL Server 2017 weiterhin zusätzliche Funktionen hinzu, und SQL Server 2017 wird von Microsoft für einen längeren Zeitraum als SQL Server 2016 vollständig unterstützt.