Artykuł pochodzi z wydania: Październik 2022
Po trzyletniej przerwie – poprzednia wersja serwera SQL trafiła na rynek w listopadzie 2019 r. – Microsoft ogłosił najnowsze wydanie swojego serwera baz danych. W czasie powstawania artykułu dostępna była publiczna wersja zapoznawcza SQL Server 2022, natomiast dokładna data premiery nie była jeszcze znana.
Nowości i udoskonalenia serwera SQL 2022 dotyczą trzech głównych obszarów: wydajności, bezpieczeństwa i ciągłej dostępności. Co ciekawe w wielu przypadkach są one rozwinięciem funkcji znanych z wcześniejszych wersji serwera. Na przykład wprowadzony w wersji 2016 magazyn zapytań (Query Store) jest dodatkowo wykorzystywany do przechowywania wskazówek dla optymalizatora zarówno tych ustawionych przez użytkowników, jak i utworzonych automatycznie na podstawie wcześniej wykonywanych zapytań. Innym przykładem jest wprowadzona w wersji 2017 możliwość uruchamiania serwera SQL w systemach Linux – najnowsza wersja pozwala wykonać kopię migawkową bazy danych na tym systemie operacyjnym i odtworzyć ją na Windowsie.
W niniejszym artykule przedstawiamy najważniejsze nowości SQL Server 2022 i jednocześnie zachęcamy do jego samodzielnego przetestowania. Wersja zapoznawcza dla systemu Windows dostępna jest pod adresem bit.ly/3wT7QBO, natomiast wersję dla systemu Linux znajdziemy pod adresem bit.ly/3et9NPe.
Instalując serwer SQL, wybraliśmy wersję Custom, co pozwoliło na wybranie, oprócz silnika baz danych, funkcji PolyBase Query Services for External Data. Poza tym instalacja polega na zaakceptowaniu domyślnych odpowiedzi i sugestii instalatora. Zainstalowana też została wersja zapoznawcza konsoli SSMS 19 dostępna pod adresem bit.ly/3CZKnCT i odtworzona za jej pomocą kopia zapasowa przykładowej bazy danych AdventureWorks2019 (bit.ly/3wXTyzY).
> Wydajność
Dbanie o wydajność jest jednym z podstawowych obowiązków administratorów baz danych. Jest to jednocześnie jedno z najtrudniejszych zadań. Po pierwsze, optymalizacja zapytań jest skomplikowana i wymaga wiele czasu. Po drugie, administratorzy z reguły mają ograniczoną możliwość modyfikowania treści zapytań, a zdarza się też, że nie mogą dowolnie modyfikować obiektów w bazach danych, takich jak tabele, indeksy czy procedury składowane. SQL Server 2022 pomaga rozwiązać te problemy za pomocą nowych funkcji inteligentnego przetwarzania zapytań oraz zmian w budowie i działaniu samego serwera.
> Inteligentne przetwarzanie zapytań
Przetwarzanie zapytań przez serwer SQL w uproszczeniu przebiega według następującego schematu:
- aplikacja kliencka wysyła zapytanie w języku TSQL;
- moduł serwera SQL odpowiedzialny za znalezienie wystarczająco dobrych planów wykonania zapytań (Query Optimizer) analizuje zapytanie i na podstawie wbudowanych reguł oraz statystyk opisujących rozkład danych opracowuje plany jego wykonania. Następnie porównuje koszty tych planów i wybiera ten o najniższym koszcie wykonania;
- moduł serwera SQL odpowiedzialny za wykonywanie zapytań (Query Execution Engine) otrzymuje wybrany plan i go realizuje;
- wynik zapytania jest odesłany do aplikacji klienckiej.
[…]
Marcin Szeliga
Pracownik naukowy Wyższej Szkoły Bankowej w Poznaniu Wydział Zamiejscowy w Chorzowie, jest autorem książek poświęconych analizie danych i posiada tytuł Microsoft Most Valuable Professional.