Ponieważ SQL Server 2012 wypadł ze wsparcia podstawowego w dniu 11 lipca 2017 r., a SQL Server 2014 wypadnie ze wsparcia podstawowego w dniu 9 lipca 2019 r., a zarówno SQL Server 2008, jak i SQL Server 2008 R2 wygasną ze wsparcia dodatkowego w dniu 9 lipca 2019 r. mam coraz większą liczbę klientów, którzy planują uaktualnienie tych starszych wersji SQL Server do nowszej wersji (albo 2016 lub 2017).
Jeśli rozważasz uaktualnienie do nowoczesnej wersji SQL Server, czy powinieneś przejść na SQL Server 2016 czy SQL Server 2017? Moją ogólną wskazówką byłoby zdecydowanie preferować SQL Server 2017 w większości przypadków, chyba że masz ważny, namacalny powód, aby tego nie robić. Na przykład, jeśli masz oprogramowanie innej firmy, które wyraźnie nie jest obsługiwane w SQL Server 2017, może to blokować (chociaż spróbowałbym porozmawiać o tym z dostawcą oprogramowania).
Dlaczego więc wolisz SQL Server 2017? Oto kilka powodów w kilku różnych kategoriach.
Nowe funkcje silnika w SQL Server 2017
Mimo że większość prac rozwojowych nad SQL Server 2017 była poświęcona stworzeniu wersji działającej na kilku różnych dystrybucjach Linuksa, nadal istnieje wiele przydatnych nowych funkcji silnika w SQL Server 2017.
Jedną z przydatnych nowych funkcji jest Automatyczna korekta planu (która opiera się na funkcji magazynu zapytań, która została wprowadzona w SQL Server 2016). Ta funkcja ułatwia wykrywanie i automatyczne korygowanie wielu problemów ze stabilnością planu zapytań. Moja koleżanka, Erin Stellato, bardziej szczegółowo opisała automatyczną korektę planów i sposób jej działania w SQL Server 2017 Enterprise Edition i Azure SQL Database.
Kolejną nową funkcją jest Adaptive Query Processing (AQP) (włączane w trybie zgodności 140), która jest bardzo pomocna w przypadku operacji w trybie wsadowym używanych z indeksami magazynu kolumn. AQP składa się z trzech komponentów, które obejmują informację zwrotną o adaptacyjnym przydzielaniu pamięci w trybie wsadowym, adaptacyjne łączenia w trybie wsadowym oraz wykonywanie z przeplotem dla wartościowych funkcji tabel wieloinstrukcyjnych.
Istnieje również wiele ulepszeń dotyczących diagnostyki i rozwiązywania problemów, które znacznie ułatwiają życie administratora DBA! Obejmują one wiele ulepszeń programu Showplan, które są bardzo przydatne do dostrajania zapytań, a także kilka nowych DMV, które są przydatne do rozwiązywania problemów diagnostycznych. Query Store jest jeszcze bardziej wydajny w SQL Server 2017 w porównaniu do SQL Server 2016.
W SQL Server 2017 pojawiło się również kilka ulepszeń „opartych na społeczności”, takich jak inteligentne różnicowe kopie zapasowe, inteligentne kopie zapasowe dzienników transakcji, ulepszona wydajność tworzenia kopii zapasowych dla małych baz danych na zaawansowanych serwerach oraz ulepszona diagnostyka i monitorowanie tempdb.
Ulepszenia replikacji
Firma Microsoft umożliwiła ochronę bazy danych dystrybucji zdalnej w grupie dostępności za pomocą programu SQL Server 2017 CU6. Dodali także możliwość dynamicznego ponownego ładowania parametrów profilu agenta transakcji w SQL Server 2017 CU3. To znacznie ułatwia dostrajanie i utrzymywanie topologii replikacji niż w przeszłości.
Pomoc techniczna firmy Microsoft
Gdy główna wersja programu SQL Server wypadnie ze wsparcia podstawowego, nie będzie więcej dodatków Service Pack ani aktualizacji zbiorczych. Tylko aktualizacje zabezpieczeń są publikowane, gdy główna wersja jest objęta wsparciem dodatkowym. Po zakończeniu wsparcia dodatkowego nie będzie więcej aktualizacji, chyba że kupisz Microsoft Premium Assurance (dostępny tylko dla SQL Server 2008 i nowszych).
Ostatnim dowodem tej polityki jest fakt, że Microsoft nie wyda poprawki bezpieczeństwa Spectre/Meltdown dla SQL Server 2005. Po wejściu w życie ogólnego rozporządzenia o ochronie danych (RODO) 25 maja 2018 r. starsze wersje SQL Server zostaną z czasem stają się bardziej podatne na ataki, gdy wypadają z pomocy technicznej firmy Microsoft.
SQL Server 2017 będzie w pełni obsługiwany przez około 15 miesięcy dłużej niż SQL Server 2016. Microsoft ma stronę z wieloma zasobami na temat zakończenia wsparcia dla SQL Server 2008 i 2008 R2.
Daty zakończenia wsparcia głównego i rozszerzonego dla wszystkich najnowszych wersji SQL Server są pokazane w Tabeli 1.
Wersja serwera SQL | Koniec wsparcia głównego nurtu | Koniec rozszerzonej pomocy technicznej |
---|---|---|
Serwer SQL 2005 | 12 kwietnia 2011 | 12 kwietnia 2016 |
SQL Server 2008 SQL Server 2008 R2 | 8 lipca 2014 | 9 lipca 2019 |
Serwer SQL 2012 | 11 lipca 2017 | 12 lipca 2022 |
Serwer SQL 2014 | 9 lipca 2019 | 9 lipca 2024 |
Serwer SQL 2016 | 13 lipca 2021 | 14 lipca 2026 |
Serwer SQL 2017 | 11 października 2022 | 12 października 2027 |
Zasady serwisowe firmy Microsoft
Microsoft SQL Server 2017 został wydany 2 października 2017 r. i do tej pory wydano sześć aktualizacji zbiorczych programu SQL Server 2017. Firma Microsoft przyjęła coś, co nazywają „Modelem nowoczesnej obsługi” dla SQL Server 2017, co oznacza, że nie będzie żadnych dodatków Service Pack dla SQL Server 2017 ani przyszłych wersji.
Zamiast tego będą dostępne comiesięczne aktualizacje zbiorcze przez pierwszy rok, a następnie comiesięczne aktualizacje zbiorcze przez następne cztery lata. Oznacza to, że usterki będą usuwane znacznie szybciej w ciągu pierwszego roku po wydaniu. SQL Server 2017 został wydany na tyle długo, że uważam go za dość stabilny.
Microsoft nie tylko poprawia określone defekty w aktualizacjach zbiorczych, ale także udostępnia nowe funkcje i inne ulepszenia produktów, które dość często koncentrują się na poprawie wydajności. Oto lista aktualizacji i ulepszeń dla SQL Server 2017, począwszy od CU6.
SQL Server 2017 CU6
- Aktualizacja obsługująca eliminację partycji w planach zapytań, które mają indeksy przestrzenne w SQL Server 2016 i 2017
- Ulepszenie:Włącz mechanizm „wymuszonego opróżniania” w SQL Server 2017 w systemie Linux
SQL Server 2017 CU5
- Lepsze rozwiązywanie problemów z zakleszczeniami równoległości między zapytaniami w programie SQL Server 2017
- Poprawia wydajność zapytań, gdy zoptymalizowany filtr bitmapowy jest stosowany do planu zapytań w SQL Server 2016 i 2017
SQL Server 2017 CU4
- Poprawa:poprawia wydajność SQL Server 2017 na mniejszych systemach
SQL Server 2017 CU3
- Aktualizacja dodaje obsługę opcji MAXDOP dla instrukcji CREATE STATISTICS i UPDATE STATISTICS w programie SQL Server 2017
- Popraw diagnostykę rozlania tempdb w DMV i zdarzeniach rozszerzonych w programie SQL Server 2017
- Aktualizacja umożliwia XML Showplans dostarczenie listy statystyk używanych podczas optymalizacji zapytań w SQL Server 2017
- Aktualizacja dodaje statystyki wykonania funkcji o wartości skalarnej, zdefiniowanej przez użytkownika do pliku Showplan XML w programie SQL Server 2017
- Aktualizacja dodaje informacje o celu wiersza optymalizatora w planach wykonywania zapytań w SQL Server 2017
- Aktualizacja włącza technologię PolyBase w SQL Server 2016 i 2017
- Aktualizacja dodaje ustawienie limitu czasu procesora do grupy roboczej Resource Governor REQUEST_MAX_CPU_TIME_SEC w programie SQL Server 2017
SQL Server 2017 CU2
- Aktualizacja procedury czyszczenia ręcznego śledzenia zmian w programie SQL Server 2017
- Ulepszenie:ogólne ulepszenia procesu czyszczenia śledzenia zmian w programie SQL Server 2017
- Aktualizacja dodaje nowe rozszerzone zdarzenie „marked_transaction_latch_trace” w programie SQL Server 2017 w systemach Linux i Windows
- Poprawa wydajności dla pośredniego filtru przestrzennego w SQL Server 2017
SQL Server 2017 CU1
- Zaktualizuj, aby poprawić wydajność dynamicznych widoków zarządzania magazynem kolumn „column_store_row_groups” i „dm_db_column_store_row_group_physical_stats” w programie SQL Server 2016 lub 2017
- Dodaj możliwość wyłączenia lub włączenia kilku nowych DMV i DMF wprowadzonych w SQL Server 2017
- Ulepszenie:nowe słowo kluczowe zostało dodane do instrukcji CREATE i UPDATE STATISTICS, aby zachować częstotliwość próbkowania dla przyszłych aktualizacji statystyk w SQL Server
Nawet jeśli można by pomyśleć, że SQL Server 2017 był „tylko portem dla systemu Linux”, w podstawowym silniku bazy danych istnieje wiele rzeczywistych ulepszeń, które przyniosą korzyści wszystkim platformom. Microsoft nadal dodaje dodatkowe funkcje do produktu w aktualizacjach zbiorczych SQL Server 2017, a SQL Server 2017 będzie w pełni obsługiwany przez Microsoft przez dłuższy czas niż SQL Server 2016.