| Termin | Definicja |
|---|---|
| Przenoszenie użytkowników | Przenoszenie użytkowników między bazami wymaga dopasowania ich do odpowiednich logowań na serwerze docelowym. Różnica między użytkownikiem bazy a logowaniem serweraPrzenoszenie użytkowników między bazami danych nie polega wyłącznie na skopiowaniu nazw kont z jednej lokalizacji do drugiej. W wielu systemach bazodanowych występują co najmniej dwa poziomy dostępu: logowanie rozpoznawane przez instancję lub serwer oraz użytkownik zapisany wewnątrz konkretnej bazy. Logowanie służy do uwierzytelnienia połączenia z serwerem, natomiast użytkownik bazy określa uprawnienia obowiązujące po wejściu do wybranej bazy. Te obiekty mogą mieć taką samą nazwę, ale nadal być odrębnymi rekordami powiązanymi określonym identyfikatorem wewnętrznym. Po odtworzeniu bazy na serwerze docelowym użytkownik może więc istnieć w jej katalogu, lecz nie mieć odpowiadającego mu logowania. Taki stan uniemożliwia poprawne logowanie albo powoduje, że konto jest traktowane jako niezmapowane. Odwrotna sytuacja również jest możliwa: logowanie może być obecne na serwerze, ale nie mieć użytkownika w konkretnej bazie. Prawidłowa migracja wymaga ustalenia, które logowania mają otrzymać dostęp do bazy, oraz ponownego powiązania ich z właściwymi użytkownikami. Mapowanie identyfikatorów po odtworzeniu bazyNajczęstszą przyczyną problemów jest różnica między nazwą konta a jego identyfikatorem bezpieczeństwa zapisanym w bazie. Sama zgodność tekstowej nazwy użytkownika nie zawsze wystarcza do rozpoznania tej samej tożsamości. Podczas przenoszenia należy porównać identyfikatory użytkowników zapisane w bazie z identyfikatorami logowań istniejących na serwerze docelowym. Jeżeli wartości się różnią, użytkownik może zostać uznany za osierocony, mimo że nazwa konta wygląda prawidłowo. Naprawa mapowania powinna być wykonywana dopiero po potwierdzeniu, że logowanie na serwerze docelowym należy do właściwej osoby lub usługi. Nie należy tworzyć przypadkowego konta o takiej samej nazwie tylko po to, aby usunąć komunikat o braku powiązania. Trzeba także ustalić, czy konto jest lokalne dla systemu bazodanowego, czy pochodzi z zewnętrznego katalogu tożsamości obsługiwanego przez dane środowisko. Znaczenie ma również wielkość liter, sposób zapisu domeny lub nazwy instancji oraz typ uwierzytelniania dostępny po stronie docelowej. Uprawnienia, role i zależności użytkownikaPo prawidłowym powiązaniu użytkownika z logowaniem trzeba sprawdzić jego członkostwo w rolach oraz uprawnienia nadane bezpośrednio. Użytkownik może mieć dostęp do tabel, widoków, procedur lub innych obiektów poprzez role bazodanowe, a część praw może wynikać z jawnych nadań albo odrębnych reguł dostępu. Przeniesienie samego konta bez odtworzenia tych zależności prowadzi do sytuacji, w której logowanie działa, lecz aplikacja otrzymuje błędy braku uprawnień. Kontroli wymagają także właściciele obiektów, schematy, konta używane przez aplikacje oraz zadania wykonujące operacje w tle. Zmiana nazwy logowania albo jego identyfikatora może ujawnić zależności zapisane w procedurach, konfiguracji połączeń i plikach aplikacyjnych. Należy rozróżnić uprawnienia potrzebne do odczytu danych, zapisu, wykonywania procedur i modyfikowania struktury bazy. Bez tego łatwo przyznać dostęp szerszy niż wymagany albo przeciwnie — usunąć uprawnienie konieczne do działania programu. Kontrola działania po przeniesieniuWeryfikację warto przeprowadzić na kopii lub środowisku testowym, zanim baza zacznie obsługiwać rzeczywiste połączenia. Dla każdego przenoszonego użytkownika należy sprawdzić możliwość uwierzytelnienia, wejście do właściwej bazy, członkostwo w wymaganych rolach oraz wykonanie reprezentatywnych operacji. Test powinien obejmować zarówno konto człowieka, jak i konto aplikacyjne, jeżeli takie konto korzysta z bazy. Sam brak błędu podczas logowania nie potwierdza jeszcze poprawności migracji. Przy problemach z dostępem do danych na komputerze można rozpocząć od ustalenia, czy przyczyną jest lokalna konfiguracja systemu, zapisane dane uwierzytelniające, połączenie z zasobem albo nieprawidłowa konfiguracja używanego programu. Przed zmianami w bazie należy wykonać sprawdzalną kopię danych i zachować informacje o dotychczasowych ustawieniach, aby możliwe było odtworzenie wcześniejszego stanu w razie nieudanego testu. |