Udostępnij za pośrednictwem


Omówienie migracji: program SQL Server do usługi Azure SQL Database

Dotyczy:azure SQL Database

Dowiedz się więcej o opcjach i zagadnieniach dotyczących migrowania baz danych programu SQL Server do usługi Azure SQL Database.

Istniejące bazy danych programu SQL Server można migrować na:

  • Program SQL Server na maszynach wirtualnych
  • Amazon EC2 (Elastyczna chmura obliczeniowa)
  • Amazon RDS (usługa relacyjnej bazy danych) dla programu SQL Server
  • Aparat obliczeniowy Google
  • Cloud SQL for SQL Server — GCP (Google Cloud Platform)

Aby zapoznać się z innymi przewodnikami migracji, zobacz Migracja Bazy Danych.

Przegląd

Azure SQL Database jest zalecaną opcją docelową dla obciążeń SQL Server, które wymagają w pełni zarządzanej platformy jako usługa (PaaS). Usługa SQL Database obsługuje większość funkcji zarządzania bazami danych. Ma również wbudowaną wysoką dostępność, inteligentne przetwarzanie zapytań, skalowalność i możliwości wydajności, które odpowiadają wielu typom aplikacji.

Usługa SQL Database zapewnia elastyczność wielu modeli wdrażania i warstw usług , które obsługują różne typy aplikacji lub obciążeń.

Jedną z najważniejszych zalet migracji do usługi SQL Database jest możliwość modernizacji aplikacji przy użyciu funkcji PaaS. Następnie można wyeliminować wszelkie zależności od składników technicznych, które są objęte zakresem na poziomie wystąpienia, takich jak zadania agenta SQL.

Możesz również obniżyć koszty, korzystając z korzyści hybrydowych platformy Azure dla programu SQL Server do przenoszenia licencji lokalnych programu SQL Server do usługi Azure SQL Database. Ta opcja jest dostępna, jeśli wybierzesz model zakupu oparty na rdzeniach wirtualnych .

Zapoznaj się z funkcjami aparatu bazy danych programu SQL Server dostępnymi w usłudze Azure SQL Database, aby zweryfikować obsługę celu migracji.

Zagadnienia dotyczące

Kluczowe czynniki, które należy wziąć pod uwagę podczas oceniania opcji migracji, to:

  • Liczba serwerów i baz danych
  • Rozmiar baz danych
  • Akceptowalny przestój biznesowy podczas procesu migracji

Opcje migracji wymienione w tym przewodniku uwzględniają te czynniki. W przypadku migracji danych logicznych do usługi Azure SQL Database czas migracji może zależeć od liczby obiektów w bazie danych i rozmiaru bazy danych.

Narzędzia są dostępne dla różnych obciążeń i preferencji użytkownika. Niektóre narzędzia mogą służyć do przeprowadzania szybkiej migracji pojedynczej bazy danych za pomocą narzędzia opartego na interfejsie użytkownika. Inne narzędzia mogą zautomatyzować migrację wielu baz danych w celu obsługi migracji na dużą skalę.

Wybierz odpowiedni cel

Zapoznaj się z ogólnymi wytycznymi, aby ułatwić wybór odpowiedniego modelu wdrażania i warstwy usług usługi Azure SQL Database. Podczas wdrażania można wybrać zasoby obliczeniowe i magazynowe, a następnie zmienić je za pomocą Azure Portal bez ponoszenia przestojów dla aplikacji.

Modele wdrażania: Omówienie obciążenia aplikacji i wzorca użycia do decydowania między pojedynczą bazą danych a pulą elastyczną.

  • Pojedyncza baza danych oznacza w pełni zarządzaną bazę danych, która jest odpowiednia dla większości nowoczesnych aplikacji w chmurze i mikrousług.
  • elastycznej puli to kolekcja pojedynczych baz danych z udostępnionym zestawem zasobów, takimi jak procesor CPU lub pamięć. Nadaje się do łączenia baz danych w puli z przewidywalnymi wzorcami użycia, które mogą efektywnie współdzielić ten sam zestaw zasobów.

Modele zakupowe: Wybierz między modelem opartym na rdzeniach wirtualnych (vCore), jednostką transakcji bazy danych (DTU) lub modelem bezserwerowym.

  • Model vCore umożliwia wybranie liczby vCore dla usługi Azure SQL Database, dlatego jest to najprostszy wybór podczas migracji z lokalnego SQL Server. Jest to jedyna opcja, która obsługuje oszczędzanie kosztów licencji przy użyciu korzyści użycia hybrydowego platformy Azure.
  • Model zakupu oparty na jednostkach DTU abstrahuje podstawowe zasoby obliczeniowe, pamięci i operacji we/wy, aby zapewnić połączoną jednostkę DTU.
  • Model bezserwerowy dotyczy obciążeń, które wymagają automatycznego skalowania na żądanie przy użyciu zasobów obliczeniowych rozliczanych na sekundę użycia. Warstwa obliczeniowa bezserwerowa automatycznie wstrzymuje bazy danych w okresach nieaktywnych (w których są naliczane tylko opłaty za magazyn). Automatycznie wznawia bazy danych po powrocie działania.

warstwy usług: wybierz między trzema warstwami usług zaprojektowanymi dla różnych typów aplikacji.

  • Warstwa usługi Ogólnego przeznaczenia/Standardowa oferuje zrównoważoną opcję budżetową z obliczeniami i pamięcią masową odpowiednimi do obsługi aplikacji w środkowych i niższych warstwach. Redundancja jest wbudowana w warstwie pamięci masowej w celu odzyskania danych po awariach. Jest ona przeznaczona dla większości obciążeń bazy danych.
  • Krytyczna dla biznesu/premium warstwa usługowa jest przeznaczona dla wysokiej klasy aplikacji, które wymagają wysokiej przepustowości transakcji, niskich opóźnień we/wy oraz wysokiego poziomu niezawodności. Repliki pomocnicze są dostępne na potrzeby przełączania awaryjnego i odciążania zadań związanych z odczytem.
  • warstwa usługi Hiperskala jest przeznaczona dla wszystkich klientów, którzy wymagają wyższej wydajności i dostępności, szybkiego tworzenia kopii zapasowych i przywracania oraz/lub szybkiego magazynu i skalowalności obliczeniowej. Obejmuje to klientów, którzy przechodzą do chmury, aby zmodernizować swoje aplikacje, a także klientów, którzy już korzystają z innych warstw usług w usłudze Azure SQL Database. Warstwa usługi Hiperskala obsługuje szeroką gamę obciążeń baz danych— od czystego OLTP po czystą analizę. Jest zoptymalizowany pod kątem obciążeń OLTP i hybrydowych transakcji i przetwarzania analitycznego (HTAP).

Ważny

Szybkość rejestrowania transakcji podlega ograniczeniom w usłudze Azure SQL Database, aby ograniczyć wysokie wskaźniki przyjmowania. W związku z tym podczas migracji może być konieczne skalowanie docelowych zasobów bazy danych (rdzeni wirtualnych lub jednostek DTU), aby zmniejszyć obciążenie procesora CPU lub przepływności. W razie potrzeby wybierz odpowiednią docelową bazę danych, ale zaplanuj skalowanie zasobów w górę na potrzeby migracji.

Alternatywna maszyna wirtualna z programem SQL Server

Twoja firma może mieć wymagania, które sprawiają, że SQL Server na maszynach wirtualnych Azure jest bardziej odpowiednim rozwiązaniem niż Azure SQL Database.

Jeśli jeden z następujących warunków ma zastosowanie do Twojej firmy, rozważ przejście na maszynę wirtualną programu SQL Server:

  • Wymagany jest bezpośredni dostęp do systemu operacyjnego lub systemu plików, takiego jak instalowanie agentów innych firm lub agentów niestandardowych na tej samej maszynie wirtualnej za pomocą programu SQL Server.
  • Masz ścisłą zależność od funkcji, które nadal nie są obsługiwane, takie jak FileStream/FileTable, PolyBase i transakcje między wystąpieniami.
  • Musisz pozostać w określonej wersji programu SQL Server (na przykład 2012).
  • Twoje wymagania dotyczące mocy obliczeniowej są znacznie niższe niż te, które oferuje wystąpienie zarządzane (na przykład jeden rdzeń wirtualny), a konsolidacja bazy danych nie wchodzi w rachubę.

Narzędzia migracji

Zalecamy następujące narzędzia migracji:

Technologia Opis
Azure Migrate Ta usługa platformy Azure ułatwia odnajdywanie i ocenianie infrastruktury danych SQL na dużą skalę w programie VMware. Udostępnia ona zalecenia dotyczące wdrażania usługi Azure SQL, określanie rozmiaru docelowego i miesięczne szacunki.
rozszerzenie migracji usługi Azure SQL dla usługi Azure Data Studio Obsługiwane przez usługę Azure Database Migration Service, rozszerzenie Azure SQL Migration dla usługi Azure Data Studio ułatwia ocenę wymagań bazy danych w celu zrozumienia gotowości migracji, uzyskania odpowiednich zaleceń dotyczących jednostek SKU dla zasobów platformy Azure i migracji bazy danych programu SQL Server na platformę Azure. Można migrować pojedyncze bazy danych lub na dużą skalę przy użyciu programu PowerShell i interfejsu wiersza polecenia platformy Azure.

W poniższej tabeli wymieniono narzędzia do migracji alternatywnej:

Technologia Opis
Replikacja transakcyjna Replikowanie danych ze źródłowych tabel bazy danych programu SQL Server do usługi Azure SQL Database przez zapewnienie opcji migracji typu wydawcy-subskrybenta przy zachowaniu spójności transakcyjnej. Zmiany danych przyrostowych są propagowane do subskrybentów w miarę ich występowania w wydawcach.
Usługi Importu i Eksportu/BACPAC BACPAC to plik systemu Windows z rozszerzeniem bacpac, który hermetyzuje schemat i dane bazy danych. Plik BACPAC umożliwia eksportowanie danych ze źródła programu SQL Server i importowanie danych do usługi Azure SQL Database. Plik BACPAC można zaimportować do nowej bazy danych SQL za pośrednictwem witryny Azure Portal.

W przypadku skalowania i wydajności z dużymi rozmiarami baz danych lub dużą liczbą baz danych rozważ użycie narzędzia wiersza polecenia SqlPackage do eksportowania i importowania baz danych.
kopiowanie zbiorcze Narzędzie do kopiowania zbiorczego (bcp) kopiuje dane z wystąpienia programu SQL Server do pliku danych. Użyj narzędzia , aby wyeksportować dane ze źródła i zaimportować plik danych do docelowej bazy danych SQL.

W przypadku szybkich operacji kopiowania zbiorczego w celu przeniesienia danych do usługi Azure SQL Database można użyć narzędzia inteligentnego kopiowania zbiorczego w celu zmaksymalizowania szybkości transferu dzięki wykorzystaniu zadań kopiowania równoległego.
Azure Data Factory Działanie kopiowania w usłudze Azure Data Factory migruje dane ze źródłowych baz danych programu SQL Server do usługi Azure SQL Database przy użyciu wbudowanych łączników i środowiska Integration Runtime .

Usługa Data Factory obsługuje szeroką gamę łączników przenoszenia danych ze źródeł programu SQL Server do usługi Azure SQL Database.

Porównanie opcji migracji

Porównaj opcje migracji, aby wybrać ścieżkę odpowiednią do potrzeb biznesowych.

W poniższej tabeli porównaliśmy opcje migracji, które zalecamy:

Opcja migracji Kiedy należy używać Zagadnienia dotyczące
usługi Azure Migrate — Odnajdywanie i ocenianie pojedynczych baz danych lub na dużą skalę z różnych środowisk. — Wszystkie kroki przed migracją, takie jak odnajdywanie, oceny i właściwe ustalanie rozmiaru zasobów lokalnych, są uwzględniane dla infrastruktury, danych i aplikacji.
Dodatek migracji Azure SQL do Azure Data Studio — Migrowanie pojedynczych baz danych lub na dużą skalę.
- Tylko tryb offline.

Obsługiwane źródła:
— SQL Server lokalnie (od 2008 roku) lub na maszynach wirtualnych Azure
SQL Server na Amazon EC2
— Amazon RDS dla programu SQL Server
— SQL Server na Google Compute Engine
— Migracje na dużą skalę można zautomatyzować za pomocą programu PowerShell lub interfejsu wiersza polecenia platformy Azure.
— Czas ukończenia migracji zależy od rozmiaru bazy danych i liczby obiektów w bazie danych.
— Narzędzie Azure Data Studio jest wymagane, jeśli nie używasz programu PowerShell ani interfejsu wiersza polecenia platformy Azure.

W poniższej tabeli porównaliśmy alternatywne opcje migracji:

Metoda lub technologia Kiedy należy używać Zagadnienia dotyczące
Replikacja transakcyjna — Migrowanie przez ciągłe publikowanie zmian z tabel źródłowej bazy danych do docelowych tabel usługi SQL Database.
— Wykonaj pełne lub częściowe migracje baz danych wybranych tabel (podzestaw bazy danych).

Obsługiwane źródła:
- programu SQL Server (od 2016 do 2019) z pewnymi ograniczeniami
- AWS EC2
Maszyna wirtualna GCP Compute z SQL Server
— Konfiguracja jest stosunkowo złożona w porównaniu z innymi opcjami migracji.
— Zapewnia opcję ciągłej replikacji do migrowania danych (bez przechodzenia baz danych do trybu offline).
— Replikacja transakcyjna ma ograniczenia do rozważenia podczas konfigurowania serwera wydawniczego w źródłowym wystąpieniu programu SQL Server. Aby dowiedzieć się więcej, zobacz Ograniczenia dotyczące publikowania obiektów.
— Można monitorować aktywność replikacji.
Import Export Service/BACPAC — Migrowanie pojedynczych baz danych aplikacji biznesowych.
— Odpowiednie dla mniejszych baz danych.
— Nie wymaga oddzielnej usługi migracji ani narzędzia.

Obsługiwane źródła:
— Program SQL Server (od 2005 do 2019) lokalnie lub na platformie Azure jako maszyna wirtualna
- AWS EC2
- AWS RDS
Maszyna wirtualna SQL Server Compute GCP
— Wymaga przestoju, ponieważ dane muszą być eksportowane w źródle i importowane w miejscu docelowym.
— Formaty plików i typy danych używane w eksporcie lub importowaniu muszą być zgodne ze schematami tabel, aby uniknąć błędów niezgodności typów danych lub obcięć.
— Czas potrzebny na wyeksportowanie bazy danych z dużą liczbą obiektów może być znacznie wyższy.
Kopiowanie zbiorcze — Wykonaj pełne lub częściowe migracje danych.
Może być przygotowany na przestoje.

Obsługiwane źródła:
— Program SQL Server (od 2005 do 2019) w środowisku lokalnym albo maszyna wirtualna platformy Azure
- AWS EC2
- AWS RDS
— Maszyna wirtualna SQL Server GCP Compute
— Wymaga przestoju podczas eksportowania danych ze źródła i importowania ich do obiektu docelowego.
— Formaty plików i typy danych używane w eksporcie lub importowaniu muszą być spójne ze schematami tabel.
Azure Data Factory — Migrowanie i/lub przekształcanie danych ze źródłowych baz danych programu SQL Server.
— Scalanie danych z wielu źródeł danych do usługi Azure SQL Database jest zwykle przeznaczone dla obciążeń analizy biznesowej (BI).
— Wymaga utworzenia potoków przenoszenia danych w usłudze Data Factory w celu przeniesienia danych ze źródła do miejsca docelowego.
- Koszt jest ważną kwestią i opiera się na takich czynnikach jak wyzwalacze potoku, uruchomienia działań i czas trwania kosztu przenoszenia danych.

Interoperacyjność funkcji

Podczas migrowania obciążeń, które opierają się na innych funkcjach programu SQL Server, należy wziąć pod uwagę więcej zagadnień.

SQL Server Integration Services

Przeprowadź migrację pakietów SQL Server Integration Services (SSIS) do platformy Azure, ponownie wdrażając pakiety do środowiska uruchomieniowego Azure-SSIS w usłudze Azure Data Factory. Usługa Azure Data Factory obsługuje migrację pakietów usług SSIS przez udostępnienie środowiska uruchomieniowego utworzonego do uruchamiania pakietów usług SSIS na platformie Azure. Alternatywnie możesz ponownie napisać logikę SSIS ETL (wyodrębnianie, przekształcanie, ładowanie) natywnie w usłudze Azure Data Factory przy użyciu przepływów danych .

SQL Server Reporting Services

Migrowanie raportów usług SQL Server Reporting Services (SSRS) do raportów podzielonych na strony w usłudze Power BI. Użyj narzędzia RDL Migration Tool, aby ułatwić przygotowanie i migrację raportów. Firma Microsoft opracowała to narzędzie, aby ułatwić klientom migrowanie raportów języka RDL (Report Definition Language) z serwerów usług SSRS do usługi Power BI. Jest dostępna na GitHubie i dokumentuje kompleksowy przegląd scenariusza migracji.

Wysoka dostępność

Ręczna konfiguracja funkcji wysokiej dostępności programu SQL Server, takich jak klastry trybu failover Always On i Always On availability groups, staje się przestarzała w docelowej bazie danych SQL. Architektura wysokiej dostępności jest już wbudowana w warstwy usługi Ogólnego przeznaczenia (model standardowej dostępności) i Biznes krytyczny (model dostępności w warstwie Premium) dla usługi Azure SQL Database. Warstwa usługi Krytycznie Biznesowa/Premium udostępnia również skalowanie odczytu, które umożliwia łączenie się z jednym z węzłów pomocniczych dla celów odczytu.

Poza architekturą wysokiej dostępności, która jest zawarta w usłudze Azure SQL Database, grupy trybu przełączenia awaryjnego umożliwiają zarządzanie replikacją i przełączaniem awaryjnym baz danych do serwera w innym regionie.

Loginy i grupy

Identyfikatory logowania systemu Windows nie są obsługiwane w usłudze Azure SQL Database, utwórz zamiast tego identyfikator logowania z Microsoft Entra ID (wcześniej Azure Active Directory). Ręcznie utwórz ponownie dowolne loginy SQL.

Zadania agenta SQL

Zadania agenta SQL nie są bezpośrednio obsługiwane w usłudze Azure SQL Database. Zamiast tego użyj zadań elastycznych.

Systemowe bazy danych

W przypadku usługi Azure SQL Database jedynymi odpowiednimi systemami baz danych są master i tempdb. Aby dowiedzieć się więcej, odwiedź stronę tempdb w usłudze Azure SQL Database.

Funkcje zaawansowane

Pamiętaj, aby korzystać z zaawansowanych funkcji opartych na chmurze w usłudze SQL Database. Na przykład nie musisz martwić się o zarządzanie kopiami zapasowymi, ponieważ usługa wykonuje je za Ciebie. Możesz przywrócić do dowolnego punktu w czasie w okresie przechowywania.

Aby zwiększyć bezpieczeństwo, rozważ użycie uwierzytelniania firmy Microsoft, inspekcji, wykrywania zagrożeń, zabezpieczenia na poziomie wierszai dynamiczne maskowanie danych.

Oprócz zaawansowanych funkcji zarządzania i zabezpieczeń usługa SQL Database udostępnia narzędzia, które ułatwiają monitorowanie i dostosowywanie obciążenia. azure SQL Analytics (wersja zapoznawcza) to zaawansowane rozwiązanie do monitorowania wydajności wszystkich baz danych w usłudze Azure SQL Database na dużą skalę i w wielu subskrypcjach w jednym widoku. Usługa Azure SQL Analytics zbiera i wizualizuje kluczowe metryki wydajności za pomocą wbudowanej analizy na potrzeby rozwiązywania problemów z wydajnością.

Automatyczna optymalizacja stale monitoruje wydajność planu wykonania SQL i automatycznie rozwiązuje zidentyfikowane problemy wydajnościowe.

Zasoby migracji

Aby uzyskać więcej pomocy, zobacz następujące zasoby, które zostały opracowane dla rzeczywistych projektów migracji.

Aktywo Opis
model oceny obciążenia danych i narzędzie To narzędzie zapewnia sugerowane "najlepsze dopasowanie" platform docelowych, gotowość do chmury i poziom korygowania aplikacji/bazy danych dla obciążenia. Oferuje proste, jednoklikowe obliczenia i generowanie raportów, co przyspiesza duże oceny majątkowe, zapewniając zautomatyzowany i jednolity proces decyzyjny dla platform docelowych.
zbiorcze tworzenie bazy danych przy użyciu programu PowerShell Można użyć zestawu trzech skryptów programu PowerShell, które tworzą grupę zasobów (create_rg.ps1), serwer logiczny w usłudze Azure (create_sqlserver.ps1) i bazę danych SQL (create_sqldb.ps1). Skrypty obejmują możliwości pętli, dzięki czemu można iterować i tworzyć dowolną liczbę serwerów i baz danych.
zbiorcze wdrażanie schematu przy użyciu MSSQL-Scripter i programu PowerShell Ten zasób tworzy grupę zasobów, tworzy jeden lub wiele serwerów logicznych na platformie Azure do hostowania usługi Azure SQL Database, eksportuje każdy schemat z lokalnego wystąpienia programu SQL Server (lub wielu wystąpień programu SQL Server 2005 lub nowszych) i importuje schematy do usługi Azure SQL Database.
Konwertowanie zadań agenta programu SQL Server na zadania elastycznej bazy danych Ten skrypt migruje źródłowe zadania agenta programu SQL Server do zadań elastycznej bazy danych.
narzędzie do przenoszenia lokalnych logowań programu SQL Server do usługi Azure SQL Database Skrypt programu PowerShell może utworzyć skrypt polecenia języka T-SQL, aby ponownie utworzyć identyfikatory logowania i wybrać użytkowników bazy danych z lokalnego programu SQL Server do usługi Azure SQL Database. Narzędzie umożliwia automatyczne mapowanie kont usługi Active Directory systemu Windows Server na konta Microsoft Entra oraz opcjonalne migrowanie natywnych logowań programu SQL Server.
Automatyzacja zbierania danych za pomocą narzędzia Perfmon przy użyciu Logman Za pomocą narzędzia Logman można zbierać dane narzędzia Perfmon (aby ułatwić zrozumienie wydajności punktu odniesienia) i uzyskać zalecenia dotyczące celu migracji. To narzędzie używa logman.exe do utworzenia polecenia, które spowoduje utworzenie, uruchomienie, zatrzymanie i usunięcie liczników wydajności ustawionych na zdalnym wystąpieniu programu SQL Server.

Zespół inżynierów danych SQL opracował te zasoby. Podstawowym zadaniem tego zespołu jest usuwanie przeszkód i przyspieszenie realizacji złożonej modernizacji projektów migracji na platformę danych Microsoft Azure.