| Termin | Definicja |
|---|---|
| Wersje SQL Server | Kolejne wersje SQL Server wprowadzają zmiany w optymalizatorze, składni T-SQL i mechanizmach wysokiej dostępności. Jak rozumieć numerację wydań SQL ServerSQL Server jest rozwijany jako rodzina kolejnych wydań tego samego silnika relacyjnej bazy danych. W praktyce spotyka się między innymi SQL Server 2008, 2008 R2, 2012, 2014, 2016, 2017, 2019 oraz 2022. Oprócz głównego numeru wersji istotne są także edycja produktu, poziom aktualizacji oraz zgodność bazy danych. Nazwa „SQL Server 2016” wskazuje wydanie produktu, ale nie określa jeszcze, czy zainstalowano poprawki zbiorcze ani jaki poziom zgodności ustawiono dla konkretnej bazy. Wersja silnika i poziom zgodności bazy danych to odrębne pojęcia. Baza może działać na nowszej instalacji SQL Server z zachowanym niższym poziomem zgodności, aby ograniczyć ryzyko zmian w zachowaniu zapytań. Poziom ten ustawia się właściwością Zmiany w optymalizatorze zapytańKolejne wersje SQL Server modyfikują optymalizator zapytań, czyli komponent wybierający plan wykonania instrukcji. Plan może obejmować skanowanie albo wyszukiwanie po indeksie, kolejność łączenia tabel, sposób agregacji oraz wybór algorytmu łączenia, takiego jak nested loops, merge join lub hash join. Zmiana wersji silnika albo poziomu zgodności może spowodować, że identyczne zapytanie otrzyma inny plan, nawet gdy tekst instrukcji i dane nie zostały zmienione. W SQL Server 2014 wprowadzono nowy model estymacji liczności dostępny przy odpowiednim poziomie zgodności. Estymacja liczności określa przewidywaną liczbę wierszy przekazywanych między operatorami planu i wpływa na dobór zasobochłonnego lub oszczędnego sposobu wykonania. SQL Server 2016 rozszerzył funkcje związane z optymalizacją, a SQL Server 2017 i 2019 rozwijały mechanizmy automatycznego dostrajania oraz przetwarzania zapytań. W SQL Server 2019 pojawiły się między innymi usprawnienia Intelligent Query Processing, zależne od konfiguracji i poziomu zgodności. Dlatego podczas porównywania wydajności trzeba zapisać wersję silnika, poziom zgodności, statystyki, indeksy i rzeczywisty plan wykonania. Składnia T-SQL i funkcje zależne od wydaniaT-SQL zachowuje dużą zgodność wsteczną, ale poszczególne wydania dodają nowe typy danych, funkcje i konstrukcje języka. SQL Server 2012 wprowadził między innymi funkcje okna z klauzulą SQL Server 2012 zawiera także funkcję Aktualizacja, zgodność i rozpoznanie zainstalowanej wersjiRozpoznanie wersji SQL Server powinno obejmować nie tylko nazwę produktu, lecz także numer kompilacji i poziom aktualizacji. Podstawową informację można odczytać zapytaniem Przy migracji należy sprawdzić kompatybilność aplikacji, sterowników, procedur składowanych, widoków, wyzwalaczy i zadań utrzymaniowych. Samo odtworzenie kopii zapasowej na nowszym serwerze nie gwarantuje identycznych planów zapytań ani identycznego czasu wykonania. Po aktualizacji analizuje się błędy w logach, nieużywane lub brakujące indeksy, statystyki oraz plany rzeczywiste dla najważniejszych instrukcji. Znaczenie ma również cykl wsparcia danego wydania: starsze wersje mogą nie otrzymywać już poprawek bezpieczeństwa i zgodności, dlatego decyzję o pozostaniu przy konkretnej wersji trzeba opierać na wymaganiach aplikacji oraz oficjalnej dokumentacji Microsoft. |