Wsparcie rozszerzone dla SQL Server 2008 oraz 2008 R2 zakończyło się w lipcu 2019 roku. Baza nadal działa, dane są na miejscu, zapytania się wykonują - i właśnie dlatego temat bywa odkładany. Konsekwencje nie są widoczne od razu.
Co oznacza koniec wsparcia dla bazy magazynowej
Brak poprawek to nie to samo co awaria. Silnik pracuje dalej, ale każda luka wykryta po dacie końcowej zostaje otwarta na stałe. Przy bazie magazynowej dostępnej tylko z sieci wewnętrznej ryzyko jest mniejsze niż przy serwerze wystawionym na zewnątrz, ale audyt bezpieczeństwa u kontrahenta traktuje obie sytuacje tak samo.
| Wersja | Koniec wsparcia podstawowego | Koniec wsparcia rozszerzonego |
|---|---|---|
| SQL Server 2008 / 2008 R2 | 2014 | 2019 |
| SQL Server 2012 | 2017 | 2022 |
| SQL Server 2016 | 2021 | 2026 |
| SQL Server 2022 | 2028 | 2033 |
Drugi skutek dotyczy zgodności. Nowe wersje sterowników oraz bibliotek przestają obsługiwać stare protokoły połączenia, więc prędzej czy później aktualizacja czegokolwiek innego w środowisku zatrzyma się na bazie. Najczęściej wychodzi to przy wymianie systemu operacyjnego na serwerze.
Wersja zgodności bazy to co innego niż wersja silnika. Po przeniesieniu pliku z 2008 na nowszy serwer baza zostaje w starym trybie zgodności i nie korzysta z nowych mechanizmów, dopóki ktoś tego trybu nie podniesie.
Jak przebiega migracja
Przeniesienie bazy sprowadza się do kopii zapasowej i odtworzenia jej na nowym serwerze. Trudność leży gdzie indziej: w procedurach składowanych, które przez lata narastały wokół składni dostępnej w 2008.
Przed przełączeniem warto sprawdzić cztery rzeczy. Każda z nich potrafi zatrzymać wdrożenie w dniu startu, a wszystkie da się zweryfikować wcześniej na kopii.
- Składnia wycofana - złączenia zapisane starym stylem oraz wskazówki optymalizatora, których nowy silnik nie przyjmie.
- Plan wykonania zapytań - nowy estymator liczności potrafi wybrać inną ścieżkę niż dotychczasowa, czasem wolniejszą.
- Konta oraz uprawnienia - identyfikatory logowania nie przenoszą się razem z bazą i po odtworzeniu zostają osierocone.
- Zadania harmonogramu - kopie zapasowe, przebudowa indeksów oraz eksporty do ERP trzeba odtworzyć osobno.
Sam moment przełączenia najlepiej zaplanować po zamknięciu zmiany, gdy na hali nie ma otwartych operacji. System magazynowy na Microsoft SQL Server opisuje szerzej warstwę bazodanową wdrożenia.
Co daje nowsza wersja silnika
Migracja to nie tylko zdjęcie ryzyka. Mechanizmy dodane po 2008 zmieniają sposób, w jaki baza radzi sobie z równoczesnym odczytem oraz zapisem - a to jest codzienność magazynu, gdzie kilkunastu operatorów rejestruje ruchy, a biuro w tym samym czasie liczy zestawienia.
| Mechanizm | Znaczenie dla bazy magazynowej |
|---|---|
| Poziom izolacji READ_COMMITTED_SNAPSHOT | Odczyt stanów nie czeka na zapis trwającej operacji, więc raport nie blokuje przyjęcia na rampie |
| Kolumnowe indeksy | Zestawienia rotacji z kilku milionów ruchów liczą się bez kopiowania danych do osobnej bazy |
| Szyfrowanie na poziomie kolumny | Dane kontrahenta pozostają zaszyfrowane także dla administratora bazy |
| Akceleracja odzyskiwania | Wycofanie długiej transakcji nie wstrzymuje startu bazy po awarii zasilania |
Największą różnicę robi pierwsza pozycja. Bez migawkowego poziomu izolacji długie zapytanie raportowe zakłada blokady, na które czeka rejestracja przyjęcia - operator przy rampie widzi wtedy zawieszony ekran, choć z terminalem wszystko jest w porządku.
Wymiana danych z systemem nadrzędnym działa niezależnie od wersji silnika, ale przy wspólnej instancji upraszcza się do tabel pośrednich. Opisuje to strona o integracji systemu magazynowego z ERP.
Dostęp przez przeglądarkę
Warstwa aplikacji łączy się z bazą z serwera, nie z komputera operatora. Przeglądarka dostaje gotowy wynik, a połączenie do bazy nigdy nie opuszcza sieci serwerowej - dlatego zmiana wersji silnika nie wymaga niczego po stronie stanowisk.
Uprawnienia rozstrzyga się w dwóch miejscach. Konto aplikacji ma dostęp do tabel, a to, co zobaczy konkretny użytkownik, wynika z roli przypisanej w panelu administratora. Rozdzielenie tych warstw pozwala zmienić zakres widoczności kontrahenta bez ruszania uprawnień w bazie.
Zakres funkcji dostępnych w tym trybie zbiera opis magazynu w chmurze, a szczegóły cyklu wsparcia poszczególnych wersji publikuje dokumentacja cyklu życia produktów Microsoft.