Witamy w drugim artykule z serii blogowej dotyczącej migracji SQL Server do Azure SQL.
W poprzednim artykule omówiliśmy następujące zagadnienia:
- Dlaczego warto migrować SQL Server do Azure SQL?
- Strategia migracji
- Rodzina Azure SQL
- Ścieżki migracji
W tym artykule skupimy się na ogólnym procesie migracji krok po kroku, tj.: Odkrycie, Ocena, Migracja, Przełączenie, Optymalizacja. Zaczynajmy!
Proces migracji
Ogólny proces migracji SQL Server można podzielić na kilka faz i kroków. W naszym przypadku podzieliliśmy go na pięć faz.
Odkrycie
Pierwszym krokiem w migracji SQL Server do Azure SQL jest odkrycie istniejącego środowiska bazodanowego. Polega to na identyfikacji instancji serwerów i baz danych, które mają zostać migrowane. Odkrycie to odbywa się za pomocą dedykowanej usługi Azure, takiej jak Azure Migrate, która może zautomatyzować ten proces. W przypadku dużej infrastruktury hostowanej na VMware lub Hyper-V zaleca się zainstalowanie dedykowanego oprogramowania do skanowania infrastruktury lokalnej. Celem tego kroku jest upewnienie się, że wszystkie kluczowe instancje SQL Server i bazy danych zostały zidentyfikowane i uwzględnione w planie migracji.
Wszystkie wyniki fazy odkrywania można zebrać i przedstawić w usłudze Azure Migrate. Usługa ta gromadzi i konsoliduje wszystkie wymagane informacje o wszystkich instancjach SQL Server, liczbie baz danych i ich objętości, wersjach systemu operacyjnego i SQL Server, specyfikacji sprzętu, ale także o wszystkich maszynach i ich zależnościach (nie tylko SQL Server) istniejących w zeskanowanej infrastrukturze.
Azure Migrate nie jest dedykowane tylko do migracji SQL Server. Jest to narzędzie Microsoftu, które pomaga ocenić i migrować obciążenia z lokalnych serwerów do Azure. Zapewnia centralne centrum do śledzenia postępu migracji oraz oferuje szacunkowe koszty i rozmiary, które pomagają organizacjom zaplanować migracje.
Ocena
W drugim kroku oceniamy, które z naszych zasobów są gotowe do migracji. Oczywiście nie dokonujemy tej oceny „na oko”, ale korzystamy z dedykowanych narzędzi, które nam w tym pomogą. Ocena jest przeprowadzana zarówno z perspektywy sprzętu, jak i aplikacji.
Krok oceny polega na analizie istniejącego środowiska bazodanowego w celu określenia najlepszej strategii migracji. Obejmuje to ocenę złożoności środowiska serwera i baz danych, identyfikację potencjalnych wyzwań (np. blokady i problemy z kompatybilnością) oraz określenie najlepszej metody migracji. Wyniki oceny zawierają informacje na temat: • modelu wdrożenia Azure SQL, tj. Azure SQL VM, Azure SQL Managed Instance lub Azure SQL Database • zalecanej konfiguracji i rozmiarów • szacunków kosztów usługi
Do przeprowadzenia oceny można wykorzystać następujące narzędzia:
- Azure Database Migration Service (ADMS) [https://learn.microsoft.com/en-us/azure/dms/]
- Rozszerzenie Azure SQL Migration dla Azure Data Studio [https://learn.microsoft.com/en-us/sql/azure-data-studio/extensions/azure-sql-migration-extension?view=sql-server-ver16]
- PowerShell [https://learn.microsoft.com/en-us/powershell/module/az.migrate/?view=azps-9.4.0]
Migracja
Po zakończeniu etapu oceny, następnym etapem jest migracja. To rzeczywisty proces przenoszenia danych z źródłowego SQL Server do Azure SQL. Etap ten może być przeprowadzony online lub offline, w zależności od potrzeb organizacji.
Tryb migracji
Migracja online polega na stworzeniu repliki bazy danych źródłowej, a następnie synchronizowaniu jej z docelową bazą danych Azure SQL. Pozwala to na minimalizację przestojów podczas migracji, ale wymaga stabilnego połączenia sieciowego o wystarczającej przepustowości.
Migracja offline polega na wykonaniu kopii zapasowej bazy danych źródłowej i przywróceniu jej do docelowej bazy danych Azure SQL. Ta metoda wymaga dłuższego przestoju, ale jest odpowiednia dla dużych wolumenów danych lub gdy baza danych źródłowa nie jest dostępna podczas migracji.
Obsługiwane scenariusze migracji z SQL Server do Azure SQL (ważne na dzień 21.09.2023):
Źródło | Cel | Online | Offline |
SQL Server | Azure SQL Database | NIE | TAK |
SQL Server | Azure SQL Database Managed Instance | TAK | TAK |
SQL Server | Azure SQL VM | TAK | TAK |
Aktualny status scenariuszy migracji można śledzić tutaj: [https://learn.microsoft.com/en-us/azure/dms/resource-scenario-status]
Narzędzia i usługi migracyjne
Aby wspomóc proces migracji, Microsoft udostępnia kilka narzędzi i usług. Azure Database Migration Service (ADMS) to w pełni zarządzana usługa, która upraszcza migrację baz danych z lokalnych serwerów do Azure SQL. Oferuje różne metody migracji, w tym migrację online i offline, oraz obsługuje szereg źródłowych baz danych, w tym SQL Server, MySQL i Oracle.
Rozszerzenie Azure SQL Migration dla Azure Data Studio to darmowe rozszerzenie, które zapewnia interfejs graficzny do migracji baz danych z SQL Server do Azure SQL. Umożliwia migrację online i offline, oferując opcje dostosowania i optymalizacji. Integruje się również z Azure Migrate i Azure Database Migration Service.
Database Migration Assistant (DMA) to kolejne narzędzie udostępniane przez Microsoft, które pomaga ocenić zgodność baz danych lokalnych z Azure SQL. Zapewnia także wskazówki dotyczące rozwiązywania problemów, które mogą pojawić się podczas procesu migracji.
Ważne czynniki
Podczas migracji do Azure SQL należy wziąć pod uwagę takie czynniki, jak: • Objętość danych do migracji (liczba serwerów, baz danych itp.) • Dostępność systemu w trakcie procesu migracji • Wydajność zarówno baz danych źródłowych, jak i docelowych • Wydajność sieci
Wszystkie te czynniki należy uwzględnić, aby zapewnić, że migracja zostanie zakończona w rozsądnym czasie i z minimalnym wpływem na organizację.
Dodatkowo, warto zaplanować proces migracji w taki sposób, aby zminimalizować zakłócenia w organizacji. Może to obejmować przeprowadzenie migracji w godzinach poza szczytem lub zastosowanie podejścia migracji etapowej, aby zminimalizować czas przestoju.
Podsumowanie
Ogólnie rzecz biorąc, etap „Migracja” w procesie migracji SQL Server do Azure SQL jest kluczowym krokiem, który wymaga starannego planowania i uwzględnienia ważnych czynników, takich jak objętość danych i wydajność systemu. Dzięki odpowiednim narzędziom i usługom oraz uwzględnieniu istotnych kwestii, takich jak wydajność danych i sieci, organizacje mogą pomyślnie migrować swoje bazy danych do Azure SQL, czerpiąc korzyści z nowoczesnego, opartego na chmurze rozwiązania bazodanowego.
Przełączenie
Faza przełączenia migracji SQL Server do Azure SQL jest kluczowym krokiem, aby upewnić się, że wszystkie dane zostały przeniesione i są dostępne w nowym środowisku. Wymaga to starannego planowania i wykonania, aby zminimalizować czas przestoju i uniknąć utraty danych. Na początek należy upewnić się, że wszystkie dane zostały migrowane i znajdują się w nowym środowisku przed przystąpieniem do procedury przełączenia.
Przed przełączeniem na nowy system, należy przygotować odpowiednią komunikację w organizacji. Należy poinformować interesariuszy i użytkowników końcowych o planowanej zmianie, określić okno czasowe migracji oraz uwzględnić ewentualną niedostępność systemu. Ponadto, warto mieć jasny plan zakończenia pracy starego systemu, w tym decyzję, czy system ten powinien być przechowywany przez określony czas w celach archiwalnych.
Optymalizacja
Po zakończeniu procesu migracji ważne jest skoncentrowanie się na optymalizacji nowego środowiska Azure SQL, aby zapewnić jego efektywne i skuteczne działanie. Można to zrobić poprzez monitorowanie i analizowanie zachowania bazy danych oraz dostosowanie konfiguracji sprzętowej do wymagań obciążenia bazy danych.
Pierwszym krokiem jest monitorowanie metryk nowego środowiska Azure SQL, takich jak CPU, pamięć i I/O. Pozwoli to uzyskać wgląd w wydajność bazy danych i zidentyfikować ewentualne wąskie gardła.
Następnie warto przeanalizować zachowanie bazy danych po migracji, przeglądając indeksy i statystyki oraz przeprowadzając ich odbudowę, jeśli to konieczne. Może to poprawić wydajność zapytań i ogólną efektywność bazy danych. Należy również rozważyć dostosowanie konfiguracji sprzętowej, np. skalowanie w górę lub w dół w zależności od wymagań obciążenia. Można to zrobić ręcznie lub za pomocą auto-skalowania, które dostosuje sprzęt do mniejszych obciążeń.
Po dłuższym okresie warto zapoznać się z rekomendacjami oferowanymi przez usługę Azure Advisor. Usługa ta może dostarczyć cennych wskazówek dotyczących optymalizacji kosztów środowiska Azure SQL.
Wnioski
Proces migracji z SQL Server do Azure SQL to logiczna sekwencja kroków, która obejmuje rozpoznanie i ocenę sytuacji, czyli odkrycie instancji SQL Server i baz danych, oraz potencjalną konfigurację docelową. Wyniki pierwszych dwóch kroków stanowią jednocześnie dane wejściowe do procesu migracji, wspieranego przez dostępne usługi i narzędzia Azure. Migracja nie kończy się na przełączeniu na Azure SQL, po tym następuje optymalizacja. Dzięki przeprowadzeniu migracji według określonego procesu, zachowujemy kontrolę nad jej przebiegiem, minimalizując ryzyko nieprzewidzianych sytuacji.
Ostatni artykuł z serii skupi się bardziej na optymalizacji kosztów, np. Azure Hybrid Benefit, Reserved Instance. Zawiera również podsumowanie narzędzi i usług wspierających proces migracji.
Kluczowe wnioski z artykułu:
- Zrozumienie procesu migracji i kroków,
- Odkrycie i ocena obecnej sytuacji oraz zaplanowanie stanu docelowego po migracji,
- Przygotowanie procedury przełączenia i odpowiednia komunikacja,
- Monitorowanie migrowanego rozwiązania i optymalizacja.
Sprawdź nasz pierwszy artykuł z serii:
https://www.onex-group.com/blog/data-and-analytics/sql-server-migration-to-azure-sql/