Aktualizacja SQL (cz. 1) – wprowadzenie

lut 12, 2021

Czas na aktualizację SQL

Użytkownikom systemów Comarch temat aktualizacji oprogramowania jest aż nazbyt bliski. Z jednej strony producent oprogramowania nie ustaje w uruchamianiu nowych funkcjonalności i bieżących poprawek. Z drugiej zaś podobną taktykę wobec systemu prawnego przyjął nasz ustawodawca. Obydwa te czynniki znacząco wpływają na częstotliwość publikowania kolejnych wersji wykorzystywanych przez nas systemów ERP.

Z kolei temat aktualizacji Windows znany jest każdemu posiadaczowi komputera. Wielu z nas narzeka na nieustanne powiadomienia. Nieco bardziej uświadomionym użytkownikom udziela się dreszczyk niepewności towarzyszący restartowi po pobraniu kolejnej paczki aktualizacji. Co by jednak nie mówić jest to proces, który na ogół przebiega gładko i nie wymaga dodatkowych interwencji. Ponadto w znacznej mierze niepostrzeżenie zdjął nam z głowy temat aktualizacji sterowników. I to na tyle skutecznie, że przeciętny współczesny użytkownik komputera nie słyszał ani o sterownikach, ani tym bardziej o ich aktualizacji.

Silnik SQL

Na tym, niestety, temat ważnych aktualizacji się nie kończy. Gdzieś na skraju świadomości mitycznego „przeciętnego użytkownika komputera”, pomiędzy systemem operacyjnym Windows a systemem ERP funkcjonuje twór nazywany silnikiem SQL. Dokładne tłumaczenia, co przez to należy rozumieć, na potrzeby tego wpisu nie są konieczne. Dość powiedzieć, że bardzo trafne jest tu odwołanie do idei silnika jako skomplikowanej maszynerii pod maską samochodu – część dla pojazdu absolutnie kluczowa, a zarazem na co dzień dla kierowcy zakryta.

Podobnie jak świadomy kierowca na wszelki wypadek sprawdza od czasu do czasu poziom oleju czy też zleca jego wymianę u mechanika, również silnik SQL raz na jakiś czas może wymagać serwisowania. Na przestrzeni ostatnich kilku miesięcy nasz zespół odnotował fakt, iż zwłaszcza najnowsze wersje Comarch ERP Optima potrafią być bardzo kapryśne w odniesieniu do wersji silnika SQL.

Jakie mogą być tego objawy? Wspólnym ich mianownikiem jest wystąpienie krótko po aktualizacji Optimy. Jednym z nich może być znaczące spowolnienie pracy programu. Oprócz tego mogą się pojawić jednostkowe błędy, których nie raportują inni użytkownicy (warto skorzystać z wyszukiwarki Google), przykładowo brak możliwości naliczenia JPK_V7 w pojedynczej bazie, zawieszająca się lista rozliczeń kontrahenta, znaczące spowolnienie seryjnego księgowania dokumentów, utraty połączenia z bazą w trakcie dłuższych operacji seryjnych.

Naturalnie nie zawsze przed instalacją aktualizacji silnika SQL da się jednoznacznie stwierdzić, że właśnie to pomoże na ww. problemy. Na ogół jest to jednak jedna z pierwszych czynności diagnostyczno-naprawczych do wykonania.

Celem tego wpisu jest uświadomienie Państwa w tej kwestii oraz przekazanie podstawowych informacji, które pozwolą sprawdzić, czy silnik SQL wymaga aktualizacji.

Wersje SQL

Podobnie jak pakiety Office [pamiętacie o ich aktualizacji?:)], tak również wykorzystywany przez Optimę silnik SQL, jako kolejne dziecko Microsoft, występuje w wersjach oznaczanych przybliżonym rokiem premiery. Żeby nie było jednak zbyt prosto, ich wewnętrzna numeracja jest nieco inna i, niestety, trzeba na to zwrócić uwagę.

Na moment publikacji tego wpisu Comarch ERP Optima współpracuje z następującymi wersjami silnika SQL:

  • SQL Server 2012 = SQL Server 11
  • SQL Server 2014 = SQL Server 12
  • SQL Server 2016 = SQL Server 13
  • SQL Server 2017 = SQL Server 14
  • SQL Server 2019 = SQL Server 15

Kolejna komplikacja: aktualizacje do każdej z tych wersji silnika publikowane są niezależnie od siebie w dużych formach zwanych Service Pack (SP) i nieco mniejszych zwanymi Cumulative Updates (CU). SP i CU występują w różnych kombinacjach.

Przykład praktyczny

Brzmi to dosyć zawile, żeby więc sprawę rozjaśnić przejdziemy do konkretnego przykładu. W pierwszej kolejności ustalimy numer wersji naszego silnika SQL. W tym celu zalogujemy się do Optimy i wywołamy informacje techniczne zgodnie z poniższą instrukcją:

Numer wersji, który finalnie przybrał dosyć długą formę 11.0.7507.2 na pierwszy rzut oka pozwala stwierdzić, że mamy do czynienia z SQL Server 2012 (patrzymy po pierwszym numerze przed kropką). Nieco wyżej mamy też oznaczenie Service Pack (brak liter SP wskazywałby na to, że nasza wersja nie ma go zainstalowanego). Uzbrojeni w taką wiedzę ruszamy na stronę Microsoft:

https://docs.microsoft.com/en-us/sql/database-engine/install-windows/latest-updates-for-microsoft-sql-server?view=sql-server-ver15

Tabelka, która nam się ukaże, prezentuje wersje SQL Server z podziałem na poszczególne Service Packi i Cumulative Update’y. Aby ustalić, czy nasza wersja SQL jest aktualna musimy znaleźć SQL Server uwzględniając numer Service Pack (o ile dana wersja go otrzymała). Jak można zauważyć, niektóre wersje SQL nie otrzymały SP, a jedna nie ma żadnego CU. Na tym etapie klikamy w link w kolumnie Latest cumulative update, a gdyby go  nie było (czyli przypadek SQL 2012 SP 4), to wybieramy link w kolumnie Latest GDR. Odnośnik przeniesie nas na podstronę z informacjami o ostatnim numerze wersji danego silnika SQL.

Po przejściu na wskazaną podstronę zobaczymy numer najnowszej wersji po ostatniej aktualizacji.

Jeśli numer w tej tabelce jest wyższy niż ten, który zastaliśmy w Optimie, oznacza to, że można pobrać aktualizację silnika SQL. W naszym przypadku wersja jest aktualna i nic więcej nie trzeba robić.

Mam nieaktualnego SQLa! Co robić, jak żyć?

Gdyby jednak okazało się, że numer wersji naszego SQL jest niższy, można rozważyć przeprowadzenie aktualizacji. Naszym zdaniem zdecydowanie warto, nawet gdy jeszcze nie doświadczyliśmy niedogodności, o których pisałem wcześniej. Ruch wyprzedzający może nie tylko zapobiec potencjalnym problemom. Dodatkowo przyczyni się on do skrócenia czasu diagnozy usterek i – co chyba najważniejsze – podniesie stopień bezpieczeństwa całego systemu.

Operacja aktualizacji serwera SQL nie należy do specjalnie skomplikowanych. Użytkownik, który samodzielnie aktualizuje swoją Optimę, potrafi wykonać kopie zapasowe baz danych i poradził sobie ze sprawdzeniem wersji SQL zgodnie z powyższymi wskazówkami, prawdopodobnie podoła również temu zadaniu. Instrukcję samodzielnego przeprowadzenia aktualizacji krok po kroku zamieścimy w osobnym wpisie.

Zalecamy, aby osoby, które samodzielnie nie realizują opisanych powyżej zadań skorzystały z fachowej pomocy konsultanta, który przeprowadzi aktualizację w sposób bezpieczny i szybki.

Autorem wpisu jest wdrożeniowiec i konsultant Comarch ERP Optima – Krzysztof Groborz

W kolejnej części wpisu piszemy o aktualizacji SQLa – zapraszamy do lektury.

Przeczytaj również…