Serwisanci dostępni teraz · czynne całą dobę, także w weekendy i świętaWarszawa i okolice · dojazd bezpłatny
Darmowa diagnoza laptopa
Darmowa diagnoza laptopa
Dojazd do klienta bezpłatnie
Dojazd do klienta bezpłatnie
Laptopy zastępcze bezpłatnie
Laptopy zastępcze bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie

Przenoszenie danych między serwerami

Termin Definicja
Przenoszenie danych między serwerami

Przenoszenie danych między serwerami wymaga eksportu, transferu i importu lub zastosowania Linked Server.

Planowanie przenoszenia danych między serwerami

Przenoszenie danych między serwerami polega na kontrolowanym skopiowaniu informacji z systemu źródłowego do systemu docelowego wraz z zachowaniem wymaganej struktury, uprawnień, metadanych i spójności. Zakres operacji zależy od rodzaju danych. Mogą to być pliki, katalogi, obrazy maszyn, kopie zapasowe, rekordy baz danych, schematy tabel, indeksy, procedury składowane albo konfiguracje usług. Przed rozpoczęciem trzeba ustalić, które elementy mają zostać przeniesione, czy serwer docelowy korzysta z tego samego systemu plików lub silnika bazy danych oraz czy oba środowiska mają zgodne kodowanie znaków, formaty dat i wersje oprogramowania.

Istotne jest rozróżnienie migracji jednorazowej od replikacji wykonywanej etapami. Przy migracji jednorazowej dane są eksportowane, przesyłane i importowane w określonym oknie serwisowym. Replikacja pozwala natomiast na bieżące przekazywanie zmian, dzięki czemu końcowe przełączenie może wymagać krótszej przerwy. Niezależnie od wybranej metody należy wcześniej sprawdzić pojemność dysków, dostępną przepustowość sieci, obciążenie procesora i pamięci oraz możliwość odtworzenia danych z niezależnej kopii zapasowej. Kopia użyta do odtworzenia powinna być zweryfikowana, a nie tylko uznana za poprawną na podstawie samego faktu jej utworzenia.

Eksport, transfer i import w praktyce

Klasyczny przepływ obejmuje trzy fazy: eksport danych ze źródła, transfer przygotowanego pakietu oraz import na serwerze docelowym. Eksport może utworzyć pliki z danymi, strukturą tabel lub zawartością katalogów. W przypadku baz danych eksport powinien obejmować także schematy, indeksy, ograniczenia integralności, procedury, wyzwalacze i konta wymagane przez aplikację, jeżeli narzędzie migracyjne nie odtwarza ich automatycznie. Przy plikach trzeba uwzględnić dowiązania, właścicieli, grupy, atrybuty, znaczniki czasu i uprawnienia, ponieważ samo skopiowanie nazw oraz zawartości nie zawsze odtwarza działające środowisko.

Transfer może odbywać się przez sieć lokalną, dedykowane łącze albo nośnik przenośny. Protokół powinien zapewniać uwierzytelnienie i ochronę transmisji, na przykład przez szyfrowany kanał SSH lub połączenie TLS, jeśli dane są przesyłane za pomocą usługi obsługującej ten standard. Duże zbiory często dzieli się na mniejsze części, kompresuje lub kopiuje przyrostowo, aby ograniczyć czas transmisji. Po przesłaniu warto obliczyć sumy kontrolne plików po obu stronach. Zgodność sum, na przykład SHA-256, potwierdza zgodność bajtową sprawdzonych plików, ale nie zastępuje kontroli logicznej zawartości bazy lub poprawności działania aplikacji.

Linked Server i dostęp do zdalnych danych

Linked Server jest mechanizmem Microsoft SQL Server umożliwiającym nawiązanie połączenia z innym źródłem danych i wykonywanie odwołań do obiektów znajdujących się poza lokalną instancją. Może służyć do odczytu danych, ich porównania albo przeniesienia za pomocą zapytań wykonywanych między serwerami. W zapytaniu do czteroczęściowej nazwy obiektu można wskazać nazwę serwera połączonego, nazwę katalogu, schemat oraz tabelę. Rzeczywisty zakres możliwości zależy od użytego dostawcy OLE DB, sterownika, konfiguracji uwierzytelniania i uprawnień konta wykorzystywanego przez połączenie.

Linked Server nie jest sam w sobie kopią zapasową ani pełną migracją instancji. Przy dużych tabelach zapytania rozproszone mogą generować znaczący ruch sieciowy i obciążać oba serwery, szczególnie gdy filtracja lub łączenie danych odbywa się po niewłaściwej stronie połączenia. Trzeba też uwzględnić różnice typów danych, kolacji, schematów, kluczy głównych i ograniczeń. Operacje przenoszenia wykonywane przez Linked Server powinny być testowane na ograniczonym zbiorze, a przy operacji wieloetapowej należy określić sposób obsługi transakcji, błędów częściowych i ponownego uruchomienia. Po zakończeniu trzeba porównać liczbę rekordów, wartości kontrolne oraz wyniki zapytań reprezentatywnych dla aplikacji.

Weryfikacja spójności i przełączenie środowiska

Po imporcie nie należy ograniczać się do sprawdzenia, czy pliki lub tabele istnieją. Dla danych plikowych można porównać liczbę obiektów, rozmiary, sumy kontrolne i możliwość otwarcia przykładowych plików. Dla bazy danych warto sprawdzić liczbę rekordów w kluczowych tabelach, zakresy identyfikatorów, wartości agregatów, relacje między tabelami oraz działanie indeksów i ograniczeń integralności. Należy również wykonać test odczytu i zapisu z użyciem konta aplikacyjnego, ponieważ migracja może zakończyć się pozornym sukcesem, gdy dane są obecne, lecz aplikacja nie ma do nich odpowiednich uprawnień.

Przełączenie na serwer docelowy powinno mieć zdefiniowany punkt rozpoczęcia i procedurę wycofania. W systemie źródłowym można czasowo zablokować zapis, wykonać końcowy eksport lub zsynchronizować ostatnie zmiany, a następnie zmienić konfigurację klientów i uruchomić testy. Warto obserwować błędy połączeń, opóźnienia, obciążenie zasobów oraz nietypowy wzrost liczby nieudanych operacji. Stary serwer powinien pozostać dostępny przez ustalony czas w trybie umożliwiającym odtworzenie, ale nie powinien przyjmować równoległych zapisów, jeżeli mogłoby to doprowadzić do rozbieżności między środowiskami. Dopiero po potwierdzeniu kompletności i poprawnego działania można uznać przenoszenie danych między serwerami za zakończone.

+48 22 100 48 29Zadzwoń teraz · serwisant w 1 godzinę