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 w usłudze Virtual Machines
  • Amazon EC2 (Elastyczna chmura obliczeniowa)
  • Amazon RDS (usługa relacyjnej bazy danych) dla programu SQL Server
  • Google Compute Engine
  • Cloud SQL for SQL Server — GCP (Google Cloud Platform)

Inne przewodniki dotyczące migracji można znaleźć w temacie Database Migration (Migracja bazy danych).

Omówienie

Usługa Azure SQL Database to zalecana opcja docelowa dla obciążeń programu SQL Server, które wymagają w pełni zarządzanej platformy jako usługi (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ść z wieloma modelami wdrażania i warstwami 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ść użycia hybrydowego platformy Azure dla programu SQL Server, aby przeprowadzić migrację licencji lokalnych programu SQL Server do usługi Azure SQL Database. Ta opcja jest dostępna, jeśli wybierzesz model zakupów oparty na rdzeniach wirtualnych.

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

Kwestie wymagające rozważenia

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 element docelowy

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 je zmienić przy użyciu witryny Azure Portal bez ponoszenia przestojów dla aplikacji.

Modele wdrażania: Poznaj obciążenie aplikacji i wzorzec użycia, aby zdecydować między pojedynczą bazą danych lub elastyczną pulą.

  • Pojedyncza baza danych reprezentuje w pełni zarządzaną bazę danych odpowiednią dla większości nowoczesnych aplikacji w chmurze i mikrousług.
  • Elastyczna pula to kolekcja pojedynczych baz danych z udostępnionym zestawem zasobów, takich 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 zakupów: wybierz między rdzeniami wirtualnymi, jednostką transakcji bazy danych (DTU) lub modelami zakupów bezserwerowych.

  • Model rdzeni wirtualnych umożliwia wybranie liczby rdzeni wirtualnych dla usługi Azure SQL Database, dlatego jest to najprostszy wybór podczas tłumaczenia z lokalnego programu SQL Server. Jest to jedyna opcja, która obsługuje oszczędzanie kosztów licencji przy użyciu Korzyść użycia hybrydowego platformy Azure.
  • Model jednostek DTU abstrahuje bazowe zasoby obliczeniowe, pamięci i we/wy w celu zapewnienia połączonej jednostki DTU.
  • Model bezserwerowy jest przeznaczony dla obciążeń, które wymagają automatycznego skalowania na żądanie z zasobami obliczeniowymi rozliczanymi na sekundę użycia. Bezserwerowa warstwa zasobów obliczeniowych automatycznie wstrzymuje bazy danych w okresach nieaktywności (gdy rozliczane jest jedynie magazynowanie). Automatycznie wznawia bazy danych po powrocie działania.

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

  • Warstwa usługi Ogólnego przeznaczenia/Standardowa oferuje zrównoważoną opcję budżetową z obliczeniami i magazynem odpowiednim do dostarczania aplikacji w warstwach środkowych i niższych. Nadmiarowość jest wbudowana w warstwie magazynu w celu odzyskania sprawności po awariach. Jest przeznaczona dla większości obciążeń baz danych.
  • warstwa usługi Krytyczne dla działania firmy/Premium dotyczy aplikacji warstwowych wymagających wysokich stawek transakcji, operacji we/wy o małych opóźnieniach i wysokiego poziomu odporności. Repliki pomocnicze są dostępne do pracy w trybie failover i do odciążania obciążeń odczytu.
  • Warstwa usługi Hiperskala jest przeznaczona dla wszystkich klientów, którzy wymagają wyższej wydajności i dostępności, szybkiej kopii zapasowej 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żne

Szybkość rejestrowania transakcji jest określana w usłudze Azure SQL Database, aby ograniczyć wysokie współczynniki pozyskiwania. 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 program SQL Server na maszynach wirtualnych platformy Azure jest bardziej odpowiedni niż usługa 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).
  • Wymagania obliczeniowe są znacznie niższe niż oferty wystąpienia zarządzanego (na przykład jeden rdzeń wirtualny), a konsolidacja bazy danych nie jest akceptowalną opcją.

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 zaleceń dotyczących jednostki SKU o odpowiednim rozmiarze 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.
Import Export Service/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, aby zmaksymalizować szybkość transferu, korzystając z równoległych zadań kopiowania.
Azure Data Factory Działanie Kopiuj 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 do przenoszenia danych ze źródeł programu SQL Server do usługi Azure SQL Database.
SQL Data Sync SQL Data Sync to usługa oparta na usłudze Azure SQL Database, która umożliwia synchronizowanie wybranych danych dwukierunkowo między wieloma bazami danych, zarówno lokalnie, jak i w chmurze.
Usługa Data Sync jest przydatna w przypadkach, w których dane muszą być aktualizowane w kilku bazach danych w usłudze Azure SQL Database lub programie SQL Server.

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 używać Kwestie wymagające rozważenia
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.
Rozszerzenie migracji usługi Azure SQL dla usługi Azure Data Studio — Migrowanie pojedynczych baz danych lub na dużą skalę.
- Tylko tryb offline.

Obsługiwane źródła:
— lokalny program SQL Server (2008) lub na maszynach wirtualnych
platformy Azure — SQL Server w usłudze Amazon EC2
— Amazon RDS for SQL Server — SQL Server
w usłudze 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 używać Kwestie wymagające rozważenia
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:
- program SQL Server (od 2016 do 2019 r.) z pewnymi
ograniczeniami — AWS EC2
— maszyna wirtualna Z programem SQL Server obliczeniowym GCP
— 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 wydawcy 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:
— sql Server (od 2005 do 2019) lokalna lub maszyna wirtualna
platformy Azure — AWS EC2
— AWS RDS
— GCP Compute SQL Server VM
— 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 obsłużyć przestoje.

Obsługiwane źródła:
— sql Server (od 2005 do 2019) lokalna lub maszyna wirtualna
platformy Azure — AWS EC2
— AWS RDS
— GCP Compute SQL Server VM
— 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 czynnikach, takich jak wyzwalacze potoku, uruchomienia działań i czas trwania przenoszenia danych.
SQL Data Sync — Synchronizowanie danych między źródłowymi i docelowymi bazami danych.
— Odpowiednie do uruchamiania ciągłej synchronizacji między usługą Azure SQL Database i lokalnym programem SQL Server w przepływie dwukierunkowym.
— Usługa Azure SQL Database musi być bazą danych centrum do synchronizacji z lokalną bazą danych programu SQL Server jako członkinią bazy danych.
— W porównaniu z replikacją transakcyjną usługa SQL Data Sync obsługuje dwukierunkową synchronizację danych między środowiskiem lokalnym i usługą Azure SQL Database.
— Może mieć większy wpływ na wydajność w zależności od obciążenia.

Współdziałanie funkcji

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

Usługi SQL Server Integration Services

Migrowanie pakietów usług SQL Server Integration Services (SSIS) na platformę Azure przez ponowne wdrożenie pakietów w środowisku uruchomieniowym 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 ona dostępna w usłudze GitHub i dokumentuje kompleksowe przewodniki dotyczące scenariusza migracji.

Wysoka dostępność

Ręczna konfiguracja funkcji wysokiej dostępności programu SQL Server, takich jak wystąpienia klastra trybu failover Always On i zawsze włączone grupy dostępności, stają się przestarzałe w docelowej bazie danych SQL. Architektura wysokiej dostępności jest już wbudowana w warstwy usług Ogólnego przeznaczenia (standardowy model dostępności) i Krytyczne dla działania firmy (model dostępności w warstwie Premium) dla usługi Azure SQL Database. Warstwa usługi Krytyczne dla działania firmy/Premium udostępnia również skalowanie odczytu w poziomie, które umożliwia łączenie się z jednym z węzłów pomocniczych na potrzeby tylko do odczytu.

Poza architekturą wysokiej dostępności zawartą w usłudze Azure SQL Database funkcja grup trybu failover umożliwia zarządzanie replikacją i trybem failover baz danych na serwerze w innym regionie.

Identyfikatory logowania i grupy

Identyfikatory logowania systemu Windows nie są obsługiwane w usłudze Azure SQL Database, zamiast tego utwórz identyfikator logowania na podstawie identyfikatora entra firmy Microsoft (wcześniej usługi Azure Active Directory). Ręcznie utwórz ponownie wszystkie identyfikatory logowania SQL.

Zadania agenta SQL

Zadania agenta SQL nie są bezpośrednio obsługiwane w usłudze Azure SQL Database. Zamiast tego należy używać 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, zobacz Tempdb in Azure SQL Database (Baza danych 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 Entra, inspekcji, wykrywania zagrożeń, zabezpieczeń na poziomie wiersza i dynamicznego maskowania 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. Usługa 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ą.

Automatyczne dostrajanie stale monitoruje wydajność planu wykonywania SQL i automatycznie rozwiązuje zidentyfikowane problemy z wydajnością.

Zasoby migracji

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

Asset opis
Model i narzędzie do oceny obciążenia danych To narzędzie zapewnia sugerowane "najlepsze dopasowanie" platform docelowych, gotowość do chmury i poziom korygowania aplikacji/bazy danych dla obciążenia. Oferuje proste, jedno kliknięcie obliczeń i generowanie raportów, które pomaga przyspieszyć duże oceny nieruchomości, zapewniając zautomatyzowany i jednolity proces decyzyjny dla platform docelowych.
Zbiorcze tworzenie bazy danych za pomocą programu PowerShell Można użyć zestawu trzech skryptów programu PowerShell, które tworzą grupę zasobów (create_rg.ps1), serwer logiczny na platformie 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 za pomocą programu 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 narzędzia Perfmon przy użyciu narzędzia 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. Podstawową kartą tego zespołu jest odblokowanie i przyspieszenie złożonej modernizacji projektów migracji platformy danych do platformy danych platformy danych firmy Microsoft.

Następne kroki