sql >> Databáze >  >> RDS >> Sqlserver

Důvody pro upgrade na SQL Server 2017

Protože SQL Server 2012 vypadl z hlavní podpory dne 11. července 2017 a SQL Server 2014 vypadne z hlavní podpory dne 9. července 2019, a protože SQL Server 2008 i SQL Server 2008 R2 vypadnou z rozšířené podpory dne července 2019 mám rostoucí počet klientů, kteří plánují upgradovat z těchto starších verzí SQL Serveru na modernější verzi (buď 2016 nebo 2017).

Pokud zvažujete upgrade na moderní verzi SQL Server, měli byste přejít na SQL Server 2016 nebo SQL Server 2017? Mým obecným doporučením by bylo ve většině případů důrazně preferovat SQL Server 2017, pokud nemáte platný a hmatatelný důvod, proč to neudělat. Například, pokud máte software 3 stran, který není výslovně podporován na SQL Server 2017, může to být blokátor (i když bych se o tom pokusil promluvit s vaším dodavatelem softwaru).

Proč byste tedy měli upřednostňovat SQL Server 2017? Zde je několik důvodů v několika různých kategoriích.

Nové funkce enginu v SQL Server 2017

Přestože byla velká část vývojové práce v SQL Server 2017 věnována vytvoření verze, která běží na několika různých distribucích Linuxu, stále existuje řada užitečných nových funkcí Engine v SQL Server 2017.

Jednou z užitečných nových funkcí je Automatic Plan Correction (která se opírá o funkci Query Store, která byla představena v SQL Server 2016). Tato funkce pomáhá detekovat a automaticky opravovat mnoho problémů se stabilitou plánu dotazů. Moje kolegyně Erin Stellato napsala o automatické korekci plánu a o tom, jak funguje v SQL Server 2017 Enterprise Edition a Azure SQL Database, mnohem podrobněji.

Další novou funkcí je Adaptive Query Processing (AQP) (která je povolena s režimem kompatibility 140), která je velmi užitečná pro operace v dávkovém režimu používané s indexy Columnstore. AQP má tři součásti, mezi které patří zpětná vazba přidělování adaptivní paměti v dávkovém režimu, adaptivní spojení v dávkovém režimu a prokládané provádění pro funkce s hodnotou tabulky s více příkazy.

Existuje také řada vylepšení v oblasti diagnostiky a odstraňování problémů, která výrazně usnadňují život DBA! Patří mezi ně několik vylepšení Showplan, která jsou velmi užitečná pro ladění dotazů, spolu s několika novými DMV, které jsou užitečné pro diagnostické odstraňování problémů. Query Store je v SQL Server 2017 ještě efektivnější než SQL Server 2016.

SQL Server 2017 také přinesl několik vylepšení „řízených komunitou“, jako je inteligentní rozdílové zálohování, inteligentní zálohování protokolu transakcí, vylepšený výkon zálohování pro malé databáze na špičkových serverech a vylepšená diagnostika a monitorování databáze tempdb.

Vylepšení replikace

Společnost Microsoft umožnila chránit vzdálenou distribuční databázi ve skupině dostupnosti pomocí SQL Server 2017 CU6. Přidali také možnost dynamicky znovu načítat parametry profilu agenta transakce v SQL Server 2017 CU3. Díky tomu je mnohem snazší ladit a udržovat vaši topologii replikace, než tomu bylo v minulosti.

Podpora společnosti Microsoft

Jakmile hlavní verze SQL Server vypadne z hlavní podpory, nebudou k dispozici žádné další aktualizace Service Pack ani kumulativní aktualizace. V době, kdy je hlavní verze v rozšířené podpoře, jsou vydávány pouze aktualizace zabezpečení. Po skončení rozšířené podpory již nebudou k dispozici žádné další aktualizace, pokud si nezakoupíte program Microsoft Premium Assurance (který je k dispozici pouze pro SQL Server 2008 a novější).

Nedávným důkazem této zásady je skutečnost, že Microsoft nevydá bezpečnostní opravu Spectre/Meltdown pro SQL Server 2005. Jakmile 25. května 2018 vstoupí v platnost Obecné nařízení o ochraně dat (GDPR), starší verze SQL Serveru budou časem zranitelnější, protože vypadnou z podpory společnosti Microsoft.

SQL Server 2017 bude plně podporován asi o 15 měsíců déle než SQL Server 2016. Společnost Microsoft má stránku s mnoha zdroji o ukončení podpory pro SQL Server 2008 a 2008 R2.

Data ukončení Mainstream a Extended Support pro všechny nejnovější verze SQL Server jsou uvedeny v tabulce 1.

Verze serveru SQL Konec běžné podpory Konec rozšířené podpory
SQL Server 2005 12. dubna 2011 12. dubna 2016
SQL Server 2008
SQL Server 2008 R2
8. července 2014 9. července 2019
SQL Server 2012 11. července 2017 12. července 2022
SQL Server 2014 9. července 2019 9. července 2024
SQL Server 2016 13. července 2021 14. července 2026
SQL Server 2017 11. října 2022 12. října 2027

Zásady servisu společnosti Microsoft

Microsoft SQL Server 2017 byl vydán 2. října 2017 a dosud bylo vydáno šest kumulativních aktualizací SQL Server 2017. Společnost Microsoft přijala to, co nazývají „Moderní model servisu“ pro SQL Server 2017, což znamená, že pro SQL Server 2017 ani budoucí verze nebudou k dispozici žádné aktualizace Service Pack.

Místo toho budou první rok měsíční kumulativní aktualizace a poté čtvrtletní kumulativní aktualizace další čtyři roky. To znamená, že vady budou během prvního roku po vydání opraveny mnohem rychleji. SQL Server 2017 byl vydán dostatečně dlouho, takže jej považuji za poměrně stabilní.

Microsoft nejen opravuje konkrétní závady v kumulativních aktualizacích, ale také uvolňuje nové funkce a další vylepšení produktu, která se poměrně často zaměřují na zlepšení výkonu. Zde je seznam aktualizací a vylepšení pro SQL Server 2017, od CU6.

SQL Server 2017 CU6

  • Aktualizace pro podporu odstranění oddílů v plánech dotazů, které mají prostorové indexy v SQL Server 2016 a 2017
  • Vylepšení:Povolte mechanismus „nuceného vyprázdnění“ v SQL Server 2017 v systému Linux

SQL Server 2017 CU5

  • Lepší paralelismus uvnitř dotazu zablokuje řešení problémů v SQL Server 2017
  • Zvyšuje výkon dotazů, když je na plán dotazů v SQL Server 2016 a 2017 použit optimalizovaný bitmapový filtr

SQL Server 2017 CU4

  • Vylepšení:Zlepšuje výkon SQL Server 2017 na menších systémech

SQL Server 2017 CU3

  • Aktualizace přidává podporu pro možnost MAXDOP pro příkazy CREATE STATISTICS a UPDATE STATISTICS v SQL Server 2017
  • Zlepšete diagnostiku rozlití databáze tempdb v DMV a Extended Events v SQL Server 2017
  • Aktualizace umožňuje XML Showplans poskytovat seznam statistik používaných během optimalizace dotazů v SQL Server 2017
  • Aktualizace přidává statistiky provádění skalární, uživatelem definované funkce do souboru Showplan XML v SQL Server 2017
  • Aktualizace přidává informace o cíli řádku optimalizátoru do plánů provádění dotazů na SQL Server 2017
  • Aktualizace umožňuje technologii PolyBase v SQL Server 2016 a 2017
  • Aktualizace přidává nastavení časového limitu CPU do pracovní skupiny Resource Governor REQUEST_MAX_CPU_TIME_SEC v SQL Server 2017

SQL Server 2017 CU2

  • Aktualizace postupu čištění ručního sledování změn v SQL Server 2017
  • Vylepšení:Obecná vylepšení procesu čištění sledování změn v SQL Server 2017
  • Aktualizace přidává novou rozšířenou událost „marked_transaction_latch_trace“ v SQL Server 2017 v systémech Linux a Windows
  • Vylepšení výkonu pro Spatial Intermediate Filter v SQL Server 2017

SQL Server 2017 CU1

  • Aktualizace za účelem zlepšení výkonu pro dynamická zobrazení správy sloupců "column_store_row_groups" a "dm_db_column_store_row_group_physical_stats" v SQL Server 2016 nebo 2017
  • Přidejte možnost deaktivovat nebo povolit několik nových DMV a DMF představených v SQL Server 2017
  • Vylepšení:Do příkazů CREATE a UPDATE STATISTICS bylo přidáno nové klíčové slovo, aby byla zachována vzorkovací frekvence pro budoucí aktualizace statistik na serveru SQL Server

I když byste si mohli myslet, že SQL Server 2017 byl „jen linuxový port“, ve skutečnosti existuje mnoho skutečných vylepšení základního databázového stroje, která budou přínosem pro všechny platformy. Společnost Microsoft pokračuje v přidávání dalších funkcí do produktu v kumulativních aktualizacích SQL Server 2017 a SQL Server 2017 bude společností Microsoft plně podporován po delší dobu než SQL Server 2016.


  1. Zobrazte výsledky výběru svisle v psql, jak to dělá \G MySQL

  2. 4 způsoby, jak zjistit, jaké sloupce budou vráceny uloženou procedurou na serveru SQL

  3. Je možné vybrat data serveru SQL pomocí pořadové pozice sloupce

  4. Zkontrolujte, zda tabulka na serveru SQL existuje