Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Usługi Azure Database Migration Service można używać za pośrednictwem witryny Azure Portal, aby migrować bazy danych z lokalnego wystąpienia programu SQL Server do usługi Azure SQL Database (offline).
Z tego samouczka dowiesz się, jak przeprowadzić migrację przykładowej AdventureWorks2022 bazy danych z lokalnego wystąpienia programu SQL Server do usługi Azure SQL Database przy użyciu usługi Database Migration Service. W tym samouczku używany jest tryb migracji offline, który uwzględnia akceptowalny czas przestoju podczas procesu migracji.
W tym poradniku nauczysz się, jak:
- Tworzenie wystąpienia usługi Azure Database Migration Service
- Rozpoczynanie migracji i monitorowanie postępu do ukończenia
Ważne
Obecnie migracje online dla celów usługi Azure SQL Database nie są dostępne w usłudze Azure Database Migration Service. Podczas migracji w trybie offline przestój aplikacji rozpoczyna się po rozpoczęciu migracji. Zaleca się przetestowanie migracji w trybie offline w celu ustalenia, czy przestój jest akceptowalny.
Opcje migracji
W poniższej sekcji opisano sposób używania usługi Azure Database Migration Service z witryną Azure Portal.
Wymagania wstępne
Przed rozpoczęciem samouczka:
Upewnij się, że masz dostęp do witryny Azure Portal.
Upewnij się, że dostawca zasobów Microsoft.DataMigration jest zarejestrowany w twojej subskrypcji.
Mieć konto platformy Azure przypisane do jednej z następujących wbudowanych ról:
- Współautor docelowej bazy danych Azure SQL Database
- Rola Odczytującego dla grupy zasobów Azure, która zawiera docelową Bazę Danych Azure SQL
- Rola właściciela lub współautora dla subskrypcji platformy Azure (wymagana w przypadku utworzenia nowego wystąpienia usługi Azure Database Migration Service)
Alternatywą dla używania jednej z tych wbudowanych ról jest przypisanie roli niestandardowej.
Upewnij się, że identyfikator logowania SQL Server, który nawiązuje połączenie ze źródłowym wystąpieniem SQL Server, jest członkiem roli db_datareader, a identyfikator logowania docelowego wystąpienia SQL Server jest członkiem roli db_owner.
Aby przeprowadzić migrację schematu bazy danych ze źródła do docelowej bazy danych Azure SQL Database przy użyciu usługi Database Migration Service, wymagana minimalna obsługiwana wersja standardu SHIR to 5,37 lub nowsza.
W przypadku migracji schematu minimalnym uprawnieniem na źródłowym serwerze SQL jest rola db_owner w celu uzyskania dostępu do bazy danych, a na docelowej bazie danych Azure SQL Database użytkownik powinien być członkiem wszystkich ról na poziomie serwera wymienionych w poniższej tabeli.
| Role | Opis |
|---|---|
| ##MS_DatabaseManager## | Członkowie stałej roli serwera ##MS_DatabaseManager## mogą tworzyć i usuwać bazy danych. Członek roli ##MS_DatabaseManager### tworzącej bazę danych staje się właścicielem tej bazy danych, co pozwala temu użytkownikowi na łączenie się z bazą danych jako użytkownik dbo. Użytkownik dbo ma wszystkie uprawnienia bazy danych w tej bazie. Członkowie roli ##MS_DatabaseManager## nie muszą mieć uprawnień dostępu do baz danych, których nie posiadają. Zaleca się użycie tej roli serwera zamiast roli na poziomie bazy danych dbmanager, która istnieje w master bazie danych. |
| ##MS_DatabaseConnector## | Członkowie stałej roli serwera ##MS_DatabaseConnector## mogą łączyć się z dowolną bazą danych bez konieczności nawiązywania połączenia z kontem użytkownika w bazie danych. |
| ##MS_DefinitionReader## | Członkowie stałej roli serwera ##MS_DefinitionReader## mogą odczytywać wszystkie widoki wykazu objęte VIEW ANY DEFINITION dowolną bazą danych, w której członek tej roli ma konto użytkownika. |
| ##MS_LoginManager## | Członkowie stałej roli serwera ##MS_LoginManager## mogą tworzyć i usuwać loginy. Zaleca się używanie tej roli serwera zamiast roli na poziomie bazy danych loginmanager, który istnieje w master bazie danych. |
Przygotowywanie docelowej bazy danych Azure SQL Database
Aby utworzyć login i użytkownika w docelowej usłudze Azure SQL Database, wykonaj następujący skrypt w bazie danych master.
CREATE LOGIN testuser WITH PASSWORD = '<password>';
ALTER SERVER ROLE ##MS_DefinitionReader## ADD MEMBER [testuser];
GO
ALTER SERVER ROLE ##MS_DatabaseConnector## ADD MEMBER [testuser];
GO
ALTER SERVER ROLE ##MS_DatabaseManager## ADD MEMBER [testuser];
GO
ALTER SERVER ROLE ##MS_LoginManager## ADD MEMBER [testuser];
GO
CREATE USER testuser FOR LOGIN testuser;
EXECUTE sp_addRoleMember 'dbmanager', 'testuser';
EXECUTE sp_addRoleMember 'loginmanager', 'testuser';
Teraz możesz migrować zarówno schemat bazy danych, jak i dane przy użyciu usługi Database Migration Service. Możesz również użyć innych narzędzi, takich jak rozszerzenie SQL Database Projects w programie Visual Studio Code, aby przeprowadzić migrację schematu przed wybraniem listy tabel do migracji.
Uwaga / Notatka
Jeśli żadne tabele nie istnieją w obiekcie docelowym usługi Azure SQL Database lub nie są zaznaczone żadne tabele przed rozpoczęciem migracji, przycisk Dalej nie jest dostępny do zainicjowania migracji. Jeśli tabela nie istnieje w obiekcie docelowym, musisz wybrać opcję migracji schematu, aby przejść do przodu.
Utwórz wystąpienie usługi migracji baz danych
Krok 1: W witrynie Azure Portal przejdź do strony usługi Azure Database Migration Service . Utwórz nowe wystąpienie usługi Azure Database Migration Service lub ponownie użyj istniejącego utworzonego wcześniej wystąpienia.
Używanie istniejącego wystąpienia usługi Database Migration Service
Aby użyć istniejącej instancji usługi migracji baz danych:
W witrynie Azure Portal w obszarze Azure Database Migration Services wybierz istniejące wystąpienie usługi Database Migration Service, którego chcesz użyć, upewniając się, że znajduje się on we właściwej grupie zasobów i regionie.
Utwórz nowe wystąpienie usługi Migracji Baz Danych
Aby utworzyć nowe wystąpienie usługi migracji baz danych:
W witrynie Azure Portal w obszarze Azure Database Migration Service wybierz pozycję Utwórz.
W obszarze Wybieranie scenariusza migracji i usługi Database Migration Service wybierz żądane dane wejściowe, takie jak Typ serwera źródłowego i docelowego, wybierz pozycję Database Migration Service i wybierz pozycję Wybierz.
Na następnym ekranie Utwórz usługę Data Migration Service wybierz swoją subskrypcję i grupę zasobów, a następnie wybierz pozycję Lokalizacja i wprowadź nazwę usługi Database Migration Service. Wybierz Przejrzyj + Utwórz. Spowoduje to utworzenie usługi Azure Database Migration Service.
Jeśli jest wymagane własne środowisko Integration Runtime (SHIR), na stronie przeglądu usługi Database Migration Service i w obszarze Ustawienia wybierz pozycję Integration Runtime i wykonaj następujące kroki:
Wybierz pozycję Konfiguruj środowisko Integration Runtime i wybierz link Pobierz i zainstaluj środowisko Integration Runtime , aby otworzyć link pobierania w przeglądarce internetowej. Pobierz Integration Runtime, a następnie zainstaluj go na komputerze, który spełnia wymagania wstępne dotyczące połączenia ze źródłowym wystąpieniem SQL Server. Aby uzyskać więcej informacji, zobacz Self-hosted integration runtime for database migrations (Własne środowisko Integration Runtime na potrzeby migracji baz danych).
Po zakończeniu instalacji program Microsoft Integration Runtime Configuration Manager zostanie automatycznie otwarty, aby rozpocząć proces rejestracji.
W tabeli Klucz uwierzytelniania skopiuj jeden z kluczy uwierzytelniania podanych w kreatorze i wklej go w programie Microsoft Integration Runtime Configuration Manager.
Jeśli klucz uwierzytelniania jest prawidłowy, w programie Integration Runtime Configuration Manager zostanie wyświetlona zielona ikona sprawdzania. Zielony znacznik wyboru wskazuje, że możesz kontynuować Zarejestruj.
Po zarejestrowaniu własnego środowiska Integration Runtime zamknij program Microsoft Integration Runtime Configuration Manager. Może upłynąć kilka minut, zanim szczegóły węzła zostaną odzwierciedlone w portalu Azure dla usługi Database Migration Service, w obszarze Ustawienia > Wdrożenie środowiska do integracji.
Uwaga / Notatka
Aby uzyskać więcej informacji na temat własnego środowiska Integration Runtime, zobacz Tworzenie i konfigurowanie własnego środowiska Integration Runtime.
Rozpoczynanie nowej migracji
Aby rozpocząć nową migrację, przejdź do usługi Azure Database Migration Service w witrynie Azure Portal i użyj polecenia +Utwórz , aby utworzyć nowe wystąpienie usługi Database Migration Service lub wybierz istniejące wystąpienie, a następnie przejdź do wystąpienia usługi Azure Database Migration Service.
W okienku Przegląd wystąpienia usługi Azure Database Migration Service wybierz pozycję Nowa migracja:
W obszarze Wybierz nowy scenariusz migracji wybierz źródło, typ serwera docelowego, tryb migracji i wybierz pozycję Wybierz.
W Kreatorze migracji w trybie offline usługi Azure SQL Database wykonaj następujące kroki:
Na karcie Szczegóły źródła wprowadź szczegóły źródłowego wystąpienia programu SQL Server, a następnie wybierz pozycję Dalej: Połącz ze źródłowym programem SQL Server:
Na karcie Połącz ze źródłowym programem SQL Server podaj szczegóły połączenia, a następnie wybierz pozycję Dalej: Wybierz bazy danych do migracji:
Na karcie Wybieranie baz danych do migracji zaznacz pole wyboru obok baz danych, które chcesz przeprowadzić migrację. Wypełnianie listy baz danych może zająć trochę czasu. Wybierz pozycję Dalej: Połącz się z docelową usługą Azure SQL Database.
Na karcie Połącz z docelową usługą Azure SQL Database podaj szczegóły połączenia, a następnie wybierz pozycję Dalej: Mapuj źródłowe i docelowe bazy danych:
Na karcie Mapuj źródłowe i docelowe bazy danych zamapuj bazy danych między źródłem i obiektem docelowym.
(Opcjonalnie) Zaznacz pole wyboru obok pozycji Migrowanie brakującego schematu , aby wdrożyć brakujące obiekty schematu ze źródła do obiektu docelowego usługi Azure SQL Database, aby przeprowadzić migrację następujących obiektów schematu z jednym polem wyboru:
- Schemat
- Tabele (wybrane)
- Indeksy
- Widoki
- Procedury składowane (StoredProcedures)
- Synonimy
- Wyzwalacze DDL (DdlTriggers)
- Ustawienia domyślne
- Wykazy pełnotekstowe (FullTextCatalogs)
- Przewodniki planowania (PlanGuides)
- Role
- Reguły
- Role aplikacji (ApplicationRoles)
- Agregacje zdefiniowane przez użytkownika (UserDefinedAggregates)
- Typy danych zdefiniowanych przez użytkownika (UserDefinedDataTypes)
- Funkcje zdefiniowane przez użytkownika (UserDefinedFunctions)
- Typy tabel zdefiniowanych przez użytkownika (UserDefinedTableTypes)
- Typy zdefiniowane przez użytkownika (UserDefinedTypes)
- Użytkownicy* (nie każdy typ użytkownika)
- XmlSchemaCollections
Uwaga / Notatka
- Jeśli wybierzesz Migruj brakujący schemat, usługa migrowania bazy danych przeprowadzi migrację schematu przed migracją danych.
- Usługa DMS kontynuuje fazę migracji danych, nawet jeśli migracja schematu napotka błędy, chyba że występują problemy z obiektami tabeli.
Następnie użyj polecenia Wybierz wszystkie tabele , aby przeprowadzić migrację wszystkich tabel, lub użyj pola wprowadzania tekstu, aby przefiltrować listę tabel i wybrać poszczególne tabele do migracji. Następnie wybierz pozycję Dalej: Podsumowanie migracji bazy danych.
Na karcie Podsumowanie migracji bazy danych przejrzyj szczegóły, a następnie wybierz pozycję Rozpocznij migrację, która rozpoczyna migrację bazy danych i automatycznie przenosi Cię z powrotem do pulpitu nawigacyjnego usługi Database Migration Service.
Uwaga / Notatka
W przypadku migracji w trybie offline przestój aplikacji rozpoczyna się po rozpoczęciu migracji.
Monitorowanie migracji bazy danych
Aby monitorować migrację bazy danych, w okienku Przegląd wystąpienia usługi Database Migration Service wybierz pozycję Monitoruj migracje.
Na karcie Migracje możesz śledzić migracje , które są w toku, zakończone i zakończone niepowodzeniem (jeśli istnieją) lub wyświetlić wszystkie migracje bazy danych. Na pasku menu wybierz pozycję Odśwież , aby zaktualizować stan migracji.
Usługa Database Migration Service zwraca najnowszy znany stan migracji przy każdym odświeżeniu stanu migracji. W poniższej tabeli opisano możliwe stany:
Stan Opis Tworzenie Usługa uruchamia migrację. Przygotowywanie do kopiowania Usługa wyłącza automatyczne statystyki, wyzwalacze oraz indeksy w tabeli docelowej. kopiowanie Dane są kopiowane ze źródłowej bazy danych do docelowej bazy danych. Kopiowanie zostało zakończone Kopiowanie danych zostało zakończone. Usługa czeka na zakończenie kopiowania innych tabel, aby rozpocząć ostatnie kroki powrotu tabel do ich oryginalnego schematu. Ponowne kompilowanie indeksów Usługa ponownie kompiluje indeksy w tabelach docelowych. Powodzenie Wszystkie dane są kopiowane, a indeksy zostaną ponownie skompilowane. W obszarze Nazwa źródła wybierz nazwę bazy danych, aby otworzyć widok tabeli. W tym szczegółowym widoku zobaczysz bieżący stan migracji, liczbę tabel, które są obecnie w tym stanie, oraz szczegółowy stan każdej tabeli:
Gdy wszystkie dane tabeli są migrowane do miejsca docelowego usługi Azure SQL Database, usługa Database Migration Service aktualizuje stan migracji z W toku na Powodzenie.
Uwaga / Notatka
Usługa Database Migration Service optymalizuje migrację, pomijając tabele bez danych (0 wierszy). Tabele, które nie zawierają danych, nie są wyświetlane na liście, nawet jeśli zostały wybrane tabele podczas tworzenia migracji.
Migracja do usługi Azure SQL Database została ukończona. Zapoznaj się z serią zadań wykonywanych po migracji, aby upewnić się, że wszystko działa bezproblemowo i wydajnie.
Ograniczenia
Migracja w trybie offline usługi Azure SQL Database korzysta z potoków usługi Azure Data Factory (ADF) na potrzeby przenoszenia danych, a tym samym przestrzega ograniczeń usługi ADF. Odpowiednia usługa ADF jest tworzona podczas tworzenia usługi migracji bazy danych. W związku z tym limity fabryk mają zastosowanie do poszczególnych usług.
- Maszyna, na której zainstalowano środowisko SHIR, działa jako środowisko obliczeniowe migracji. Upewnij się, że ta maszyna może obsłużyć obciążenie procesora i pamięci kopii danych. Aby dowiedzieć się więcej, zobacz Tworzenie i konfigurowanie własnego środowiska Integration Runtime.
- 100 000 tabel na limit bazy danych.
- 10 000 współbieżnych migracji baz danych na usługę.
- Szybkość migracji w dużym stopniu zależy od docelowej jednostki SKU usługi Azure SQL Database i hosta własnego środowiska Integration Runtime.
- ** Migracja usługi Azure SQL Database słabo skalowuje się wraz ze wzrostem liczby tabel ze względu na narzut związany z usługą ADF przy uruchamianiu działań. Jeśli baza danych zawiera tysiące tabel, proces uruchamiania każdej tabeli może potrwać kilka sekund, nawet jeśli składają się one z jednego wiersza z 1 bitem danych.
- Nazwy tabel usługi Azure SQL Database z znakami dwubajtowymi nie są obecnie obsługiwane w przypadku migracji. Środki zaradcze polegają na zmianie nazw tabel przed migracją; można je zmienić z powrotem na oryginalne nazwy po pomyślnej migracji.
- Migracja tabel z dużymi kolumnami obiektów blob może zakończyć się niepowodzeniem z powodu przekroczenia limitu czasu.
- Nazwy baz danych z zarezerwowaną usługą SQL Server nie są obecnie obsługiwane.
- Nazwy baz danych, które zawierają średniki, nie są obecnie obsługiwane.
- Obliczone kolumny nie są migrowane.
- Kolumny w źródłowej bazie danych, które mają ograniczenia domyślne i zawierają wartości
NULL, są migrowane ze zdefiniowanymi wartościami domyślnymi w docelowej bazie danych Azure SQL Database, zamiast zachowywania wartości NULL.