| Termin | Definicja |
|---|---|
| Narzędzia sprawdzające zgodność (DMA | Data Migration Assistant sprawdza zgodność bazy z docelową wersją silnika i wskazuje funkcje wymagające zmian przed migracją. Narzędzia sprawdzające zgodność (DMA) — czym jest ta grupa rozwiązańNarzędzia sprawdzające zgodność (DMA) służą do uporządkowania oceny środowiska bazodanowego przed zmianą wersji silnika, przeniesieniem danych albo przebudową sposobu przechowywania informacji. Ich zadaniem nie jest samo skopiowanie tabel i rekordów. Najpierw analizowany jest istniejący sposób korzystania z bazy, a następnie porównuje się go z możliwościami oraz ograniczeniami środowiska docelowego. Dzięki temu można wcześniej wykryć elementy, które po migracji mogłyby przestać działać, zmienić zachowanie albo wymagać dodatkowej konfiguracji. W praktyce analiza obejmuje między innymi strukturę tabel, typy danych, indeksy, widoki, procedury, funkcje, wyzwalacze, zadania automatyczne oraz zapytania zapisane w kodzie aplikacji. Wyniki są zwykle przedstawiane w formie raportu podzielonego według poziomu istotności. Część wykrytych punktów może mieć charakter informacyjny, inne wymagają ręcznej korekty, a jeszcze inne powinny zostać rozwiązane przed rozpoczęciem właściwego przenoszenia danych. Takie rozdzielenie pomaga ustalić kolejność prac i ograniczyć ryzyko nieplanowanej przerwy w działaniu systemu. Warto pamiętać, że zgodność nie oznacza wyłącznie możliwości uruchomienia bazy po zmianie środowiska. Liczy się także zachowanie zapytań, poprawność wyników, dostępność używanych funkcji, sposób obsługi zabezpieczeń oraz przewidywalna wydajność. Raport DMA jest więc punktem wyjścia do dalszych testów, a nie automatycznym potwierdzeniem, że cała migracja zakończy się bez dodatkowych działań. DMA i narzędzia sprawdzające zgodność w kontekście technicznymAnalizę zgodności można porównać do przeglądu projektu przed przeprowadzką do innego budynku. Samo przeniesienie wyposażenia może się udać, lecz wcześniej trzeba sprawdzić, czy wszystkie elementy zmieszczą się w nowym miejscu, czy będą dostępne potrzebne przyłącza i czy sposób korzystania z pomieszczeń pozostanie taki sam. W bazie danych odpowiednikiem takich ograniczeń są różnice w składni, typach danych, mechanizmach indeksowania, poziomach zabezpieczeń oraz obsługiwanych funkcjach. W starszym środowisku mogły być używane konstrukcje, które w nowszej wersji zostały oznaczone jako przestarzałe. Czasem nadal działają, ale ich dalsze stosowanie zwiększa ryzyko przy kolejnych aktualizacjach. Innym przypadkiem jest funkcja dostępna w dotychczasowym silniku, lecz nieobecna w wariancie docelowym. Narzędzia sprawdzające zgodność (DMA) pomagają odróżnić te sytuacje od zwykłych ostrzeżeń dotyczących stylu konfiguracji. Istotne jest również rozróżnienie między analizą statyczną i testami działania. Skanowanie obiektów bazy może wykryć niezgodną składnię, ale nie zawsze pokaże problem występujący dopiero przy określonych danych lub obciążeniu. Z tego powodu po analizie warto przygotować kopię testową, odtworzyć najważniejsze operacje i porównać rezultaty z dotychczasowym środowiskiem. Szczególnej uwagi wymagają zapytania raportowe, procesy importu, automatyczne kopie zapasowe oraz aplikacje korzystające z nietypowych ustawień połączenia. Raport powinien być traktowany jako lista zadań technicznych. Przy każdym komunikacie przydatne jest zapisanie obiektu, którego dotyczy problem, rodzaju niezgodności, możliwego wpływu na działanie oraz osoby odpowiedzialnej za weryfikację. Takie podejście ułatwia kontrolę postępu i pozwala uniknąć sytuacji, w której ostrzeżenia pozostają bez właściciela. Typowe problemy wykrywane przez DMANajczęściej wykrywane są różnice w typach danych. Zmiana sposobu przechowywania wartości tekstowych, dat, liczb lub danych binarnych może wpływać na sortowanie, porównywanie i konwersję. Problem może pojawić się także wtedy, gdy aplikacja zakłada określoną długość pola, a środowisko docelowe interpretuje ją inaczej. Przed migracją warto przejrzeć miejsca, w których wykonywane są niejawne konwersje, ponieważ po zmianie wersji mogą pojawić się błędy wcześniej niewystępujące. Drugą grupę stanowią niezgodności w procedurach, funkcjach, wyzwalaczach i widokach. Zmiana składni może być łatwa do poprawienia, ale czasem komunikat wskazuje na odmienną logikę działania. Dotyczy to na przykład kolejności wykonywania instrukcji, obsługi wartości pustych, zakresu uprawnień albo sposobu zwracania wyników. Każdy taki element powinien zostać sprawdzony w środowisku testowym z użyciem reprezentatywnych danych. Ważną kategorią są obiekty wycofywane lub oznaczone jako przestarzałe. Ich obecność nie zawsze uniemożliwia migrację, jednak może oznaczać, że rozwiązanie nie będzie rozwijane albo zostanie usunięte w kolejnej wersji. W takim przypadku korzystniejsze bywa zaplanowanie zastępstwa przed migracją, zamiast odkładania problemu do następnej aktualizacji. Raport może również wskazać kwestie związane z uprawnieniami, sposobem uwierzytelniania i konfiguracją dostępu. Po przeniesieniu bazy użytkownicy, aplikacje lub zadania automatyczne mogą nie otrzymać dokładnie tych samych praw. Należy wtedy zweryfikować konta, role, właścicieli obiektów oraz połączenia wykorzystywane przez procesy działające w tle. Osobną grupę stanowią problemy wydajnościowe. Narzędzie może zasugerować zmianę indeksu, niezgodność ustawienia albo użycie funkcji wpływającej na plan wykonania zapytania. Sama informacja nie przesądza jeszcze o realnym spadku szybkości, dlatego potrzebne są pomiary porównawcze. Należy zestawić czasy wykonania najważniejszych operacji, zużycie zasobów i zachowanie systemu przy typowym obciążeniu. Praktyczne wskazówki dla narzędzi sprawdzających zgodność (DMA)Prace najlepiej rozpocząć od opisania celu migracji, wersji obecnego środowiska, wersji docelowej oraz aplikacji, które korzystają z bazy. Bez takiego kontekstu raport może zostać odczytany zbyt ogólnie. Pomocne jest również wskazanie obiektów krytycznych, takich jak tabele używane w codziennej obsłudze, procedury realizujące rozliczenia oraz procesy wymiany danych z innymi systemami. Analizę należy wykonywać na możliwie aktualnej kopii konfiguracji i schematu. Jeżeli skan przeprowadzany jest na dawnej wersji bazy, część ostrzeżeń może nie odpowiadać stanowi faktycznemu. Przed rozpoczęciem warto zabezpieczyć kopię zapasową, zapisać datę badania i zachować wersję raportu. Pozwala to później porównać wynik po wprowadzeniu poprawek. Każde ostrzeżenie powinno zostać sklasyfikowane. Przydatny podział obejmuje problemy blokujące, wymagające korekty przed migracją, zalecenia do wykonania w ramach przygotowań oraz informacje, które nie wymagają natychmiastowej zmiany. Nie należy usuwać komunikatów bez sprawdzenia ich znaczenia. Czasem element pozornie drugorzędny jest wykorzystywany przez rzadko uruchamiany, ale ważny proces. Po poprawkach wskazane jest ponowne uruchomienie analizy oraz wykonanie testu odtworzeniowego. Warto sprawdzić tworzenie kopii, odtwarzanie, działanie kont użytkowników, import i eksport danych, zapytania o największym znaczeniu oraz zachowanie aplikacji po zmianie ustawień połączenia. Dobrą praktyką jest przygotowanie planu powrotu do poprzedniego środowiska na wypadek nieprzewidzianego problemu. Do dokumentacji można dołączyć listę zmienionych obiektów, wyniki testów i decyzje dotyczące komunikatów pozostawionych bez modyfikacji. Ułatwia to późniejszą konserwację oraz ocenę, czy przy kolejnej aktualizacji nie pojawiły się te same problemy. W ten sposób narzędzia sprawdzające zgodność (DMA) stają się częścią powtarzalnego procesu utrzymania, a nie jednorazowym skanem wykonanym tuż przed zmianą. Kiedy zgłosić się do serwisu z problemem DMAWsparcie serwisowe może być potrzebne wtedy, gdy raport zawiera wiele ostrzeżeń, nie jest jasne, które elementy mają znaczenie dla użytkowanej aplikacji albo po migracji pojawiają się błędy w działaniu programu. Zgłoszenie jest zasadne również wtedy, gdy baza działa niestabilnie, występują problemy z dostępem do danych, kopie zapasowe nie dają się poprawnie odtworzyć lub nie ma pewności, czy środowisko testowe odpowiada rzeczywistemu układowi. W Warszawskim Pogotowiu Komputerowym 24/7 można rozpocząć od zebrania informacji o urządzeniu, systemie, używanej aplikacji i komunikatach widocznych w raporcie. Przydatne jest dostarczenie zrzutów komunikatów, opisu momentu wystąpienia problemu oraz informacji o ostatnich zmianach. Pozwala to zawęzić przyczynę i ustalić, czy problem dotyczy samej bazy, aplikacji, konfiguracji systemu czy procesu przenoszenia danych. Przed przekazaniem urządzenia lub nośnika należy zabezpieczyć kopię ważnych plików i ustalić, czy dane zawierają informacje wymagające szczególnej ochrony. Nie powinno się wysyłać pełnej bazy w wiadomości bez wcześniejszego sprawdzenia zasad bezpieczeństwa. Często wystarczające okazują się logi, opis struktury, fragment raportu oraz kopia testowa pozbawiona danych wrażliwych. Do czasu wyjaśnienia problemu warto unikać kolejnych zmian wersji, przypadkowego usuwania obiektów i nadpisywania działającej kopii. Jeżeli migracja została już rozpoczęta, należy zachować logi oraz dokładny opis wykonanych czynności. Ułatwia to odtworzenie kolejności zdarzeń i ocenę, czy niezgodność wynika z konfiguracji, niepełnego przeniesienia danych czy zmiany zachowania silnika. |