Kopiowanie lub przenoszenie bazy danych — Azure SQL Managed Instance

Dotyczy:Azure SQL Managed Instance

W tym artykule opisano sposób kopiowania lub przenoszenia bazy danych w trybie online między wystąpieniami w usłudze Azure SQL Managed Instance. Operacje kopiowania i przenoszenia bazy danych są obsługiwane w różnych subskrypcjach platformy Azure w ramach tej samej dzierżawy platformy Azure.

Omówienie

Operację kopiowania lub przenoszenia bazy danych między wystąpieniami zarządzanymi można wykonać za pomocą technologii zawsze włączonej grupy dostępności. Funkcja kopiowania i przenoszenia tworzy nową bazę danych w wystąpieniu docelowym jako kopię źródłowej bazy danych. Dzięki tej funkcji replikacja danych jest niezawodna, spójna, asynchroniczna i niemal w czasie rzeczywistym.

Podczas kopiowania bazy danych źródłowa baza danych pozostaje w trybie online podczas operacji i po jej zakończeniu.

Z drugiej strony po przeniesieniu bazy danych źródłowa baza danych zostanie porzucona po zakończeniu operacji.

Możesz uruchomić wiele operacji kopiowania i przenoszenia bazy danych ze źródłowego wystąpienia zarządzanego do co najmniej jednego wystąpienia docelowego.

Kopiowanie i przenoszenie bazy danych różni się od przywracania do punktu w czasie (PITR), ponieważ tworzy kopię bazy danych po zakończeniu operacji. Funkcja PITR tworzy kopię bazy danych z określonej chwili w przeszłości.

Ważne

Po przeniesieniu bazy danych do nowego miejsca docelowego istniejące kopie zapasowe pitr nie są przenoszone z bazą danych i nie są dostępne. Baza danych uruchamia nowy łańcuch kopii zapasowych w wystąpieniu docelowym po zakończeniu operacji przenoszenia.

Kiedy używać funkcji

Przenoszenie lub kopiowanie bazy danych jest przydatne, gdy chcesz:

  • Zarządzanie wymaganiami dotyczącymi wzrostu i wydajności bazy danych.
  • Równoważenie obciążeń w wielu wystąpieniach zarządzanych.
  • Przenoszenie baz danych do wystąpienia z bardziej dostępnymi zasobami w celu obsługi obciążenia.
  • Konsolidowanie wielu baz danych z kilku wystąpień.
  • Tworzenie parzystości bazy danych między środowiskami deweloperskimi, testowymi i produkcyjnymi.

Przepływ pracy

Oto przepływ pracy kopiowania lub przenoszenia bazy danych:

  1. Wybierz bazę danych, źródłowe wystąpienie zarządzane i wystąpienie docelowe, a następnie uruchom operację.

    Baza danych jest rozmieszczana na serwerze docelowym. Sprawdź stan, aby określić, czy operacja jest w toku, czy zakończyła się powodzeniem.

  2. Po zakończeniu rozmieszczania stan operacji jest wyświetlany jako gotowy do ukończenia.

    Do momentu ręcznego ukończenia operacji wszystkie zmiany, które mają miejsce w źródłowej bazie danych, są stosowane do docelowej bazy danych. Operację można anulować w dowolnym momencie. Masz 24 godziny, aby jawnie ukończyć operację. Jeśli operacja nie zostanie ukończona w ciągu 24 godzin, zostanie ona automatycznie anulowana i docelowa baza danych zostanie porzucona.

  3. Po ręcznym zakończeniu operacji docelowa baza danych jest w trybie online i jest gotowa do obsługi obciążeń odczytu/zapisu.

  4. Jeśli zdecydujesz się przenieść bazę danych, źródłowa baza danych zostanie porzucona. Jeśli zdecydujesz się skopiować bazę danych, źródłowa baza danych pozostanie w trybie online, ale synchronizacja danych zostanie zatrzymana.

Przykładowy przepływ pracy operacji przenoszenia przedstawiono na poniższym diagramie:

Diagram that illustrates the workflow of a move operation.

Projekt operacji przenoszenia bazy danych gwarantuje brak utraty danych. Gdy użytkownik ukończy operację przenoszenia, źródłowa baza danych przestanie przyjmować wszystkie obciążenia, a transakcja jest replikowana do docelowej bazy danych. Dopiero wtedy docelowa baza danych stanie się w trybie online, a źródłowa baza danych została porzucona. Dzięki temu wszystkie dane ze źródłowej bazy danych są przenoszone do docelowej bazy danych.

Operacja kopiowania bazy danych jest podobna do przenoszenia bazy danych. Jedyną ważną różnicą jest zakończenie operacji. Ukończenie operacji kopiowania bazy danych zatrzymuje replikację dziennika transakcji do docelowej bazy danych. Mimo że użytkownik jawnie wystawia polecenie w celu ukończenia operacji kopiowania, użytkownik nie kontroluje dokładnego momentu zatrzymania replikacji dziennika. Na koniec zarówno źródłowa, jak i docelowa baza danych są w trybie online, niezależne i gotowe do odczytu i zapisu.

Wymagania wstępne

Zanim będzie można skopiować lub przenieść bazę danych, musisz spełnić następujące wymagania:

  • Musisz mieć uprawnienia do odczytu dla grupy zasobów, która zawiera źródłowe wystąpienie zarządzane, i musisz mieć uprawnienia do zapisu na poziomie bazy danych zarówno dla wystąpień źródłowych, jak i docelowych.
  • Jeśli wystąpienia źródłowe i docelowe znajdują się w różnych sieciach wirtualnych, musi istnieć łączność sieciowa między sieciami wirtualnymi dwóch wystąpień, takich jak komunikacja równorzędna sieci wirtualnych platformy Azure. Ponadto ruch przychodzący i wychodzący na porcie 5022 i zakres portów 11000-11999 musi być dozwolony dla protokołu TCP. Dotyczy to obu podsieci, hostowania źródła i wystąpienia docelowego. Poniżej przedstawiono dokumentację dotyczącą nawiązywania łączności sieciowej między wystąpieniami w różnych sieciach wirtualnych platformy Azure.

Kopiowanie lub przenoszenie bazy danych

Bazę danych można skopiować lub przenieść do innego wystąpienia zarządzanego przy użyciu witryny Azure Portal. Aby to zrobić:

  1. Przejdź do wystąpienia zarządzanego w witrynie Azure Portal.

  2. W obszarze Zarządzanie danymi wybierz pozycję Bazy danych.

  3. Wybierz co najmniej jedną bazę danych, a następnie wybierz opcję Kopiuj lub Przenieś w górnej części okienka.

    Wybranie pozycji Przenieś porzuca źródłową bazę danych po zakończeniu operacji i wybranie pozycji Kopiuj pozostawia źródłową bazę danych w trybie online po zakończeniu operacji. Wybranie jednej z opcji powoduje otwarcie strony Przenieś zarządzaną bazę danych lub Kopiowanie zarządzanej bazy danych. Po otworzie strony możesz wybrać więcej baz danych do uwzględnienia w operacji.

    Screenshot of the 'Databases' page for Azure SQL Managed Instance, with the 'Move' and 'Copy' options highlighted.

  4. W okienku Szczegóły źródła podaj szczegóły źródłowej bazy danych i wystąpienia zarządzanego.

  5. W okienku Szczegóły miejsca docelowego podaj szczegóły dla docelowego wystąpienia zarządzanego.

  6. Wybierz pozycję Przejrzyj i rozpocznij , aby zweryfikować szczegóły źródła i miejsca docelowego, a następnie wybierz pozycję Rozpocznij , aby rozpocząć operację.

    Wybranie pozycji Uruchom spowoduje powrót do strony Bazy danych wystąpienia, gdzie można monitorować postęp operacji.

  7. Na stronie Bazy danych sprawdź kolumnę Szczegóły operacji, aby sprawdzić, czy stan operacji to Przenieś w toku lub Kopiuj w toku.

    Jeśli chcesz anulować, wybierz pozycję W toku, wybierz bazę danych, z którą pracujesz, a następnie wybierz pozycję Anuluj operację , aby zatrzymać rozmieszczanie i upuść docelową bazę danych.

    Screenshot of the 'Databases' page for Azure SQL Managed Instance, showing that a copy operation is in progress.

  8. Monitoruj operację. Po zakończeniu rozmieszczania w kolumnie Szczegóły operacji jest wyświetlany stan Przenieś gotowe do ukończenia lub Kopiuj gotowy do ukończenia.

  9. Wybierz pozycję Gotowe do ukończenia , aby otworzyć kolumnę Szczegóły operacji, wybierz bazę danych, którą chcesz skopiować lub przenieść, a następnie wybierz pozycję Zakończ , aby sfinalizować operację i przenieść docelową bazę danych do trybu online.

    Zmiany wprowadzone w źródłowej bazie danych są replikowane do docelowej bazy danych w tym czasie do momentu wybrania pozycji Zakończ. Jeśli nie ukończysz operacji w ciągu 24 godzin, zostanie ona automatycznie anulowana, a docelowa baza danych zostanie porzucona. Wybranie pozycji Zakończ finalizuje operację i powrót do strony Bazy danych , gdzie można sprawdzić, czy operacja została ukończona.

    Jeśli baza danych została przeniesiona, nazwa bazy danych jest niedostępna, ponieważ jest teraz w trybie offline.

Wydajność operacji kopiowania i przenoszenia

Operacje kopiowania i przenoszenia bazy danych mają dwie fazy. Pierwszy z nich to początkowe rozmieszczanie, a drugi to replikacja zmian ze źródłowej bazy danych do docelowej bazy danych. Zazwyczaj wstępne rozmieszczanie jest bardziej wymagającym etapem operacji. Czas potrzebny na ukończenie początkowego rozmieszczania zależy od rozmiaru danych i liczby aktywnych operacji kopiowania lub przenoszenia. Intensywność obciążenia wykonywanego na źródłowym i docelowym wystąpieniu usługi Azure SQL Managed Instance, a szybkość sieci między źródłem a miejscem docelowym będzie również mieć wpływ na szybkość rozmieszczania. W optymalnych okolicznościach, a gdy zostanie nawiązana łączność między źródłem i miejscem docelowym przy użyciu zalecanej globalnej komunikacji równorzędnej sieci wirtualnych, szybkość rozmieszczania wynosi do 360 GB na godzinę. Proces rozmieszczania i jego szybkość można monitorować za pośrednictwem sys.dm_hadr_physical_seeding_stats DMV.

SELECT 
	role_desc,
	transfer_rate_bytes_per_second,
	transferred_size_bytes,
	database_size_bytes,
	start_time_utc,
	estimate_time_complete_utc,
	end_time_utc,
	local_physical_seeding_id
FROM
	sys.dm_hadr_physical_seeding_stats;

Ograniczenia

Rozważ następujące ograniczenia funkcji kopiowania i przenoszenia:

  • Wystąpienia źródłowe i docelowe nie mogą być takie same.
  • Zarówno wystąpienie źródłowe, jak i wystąpienie docelowe muszą znajdować się w tym samym regionie świadczenia usługi Azure.
  • Można kopiować i przenosić tylko bazy danych użytkowników . Kopiowanie i przenoszenie systemowych baz danych nie jest obsługiwane.
  • Baza danych może uczestniczyć tylko w jednej operacji przenoszenia lub kopiowania naraz.
  • Wystąpienie źródłowe może jednocześnie uruchomić maksymalnie osiem operacji kopiowania lub przenoszenia. Można uruchomić więcej niż osiem operacji, ale niektóre są kolejkowane i przetwarzane później, zgodnie z zarządzaniem przez usługę.
  • Nie można zmienić nazwy bazy danych podczas operacji kopiowania ani przenoszenia.
  • Tagi bazy danych nie są kopiowane za pomocą operacji kopiowania ani przenoszenia.
  • Operacje kopiowania i przenoszenia bazy danych nie kopiują ani nie przenoszą kopii zapasowych pitr.
  • Nie można kopiować ani przenosić bazy danych będącej częścią grupy trybu failover lub używać linku wystąpienia zarządzanego.
  • Nie należy konfigurować źródłowego lub docelowego wystąpienia zarządzanego przy użyciu konfiguracji grupy trybu failover (odzyskiwania po awarii geograficznej).
  • Po przeniesieniu bazy danych, która opiera się na tych funkcjach, należy ponownie skonfigurować replikację transakcyjną, przechwytywanie danych (CDC) lub transakcje rozproszone.

Więcej dokumentacji związanej z kopiowaniem i przenoszeniem bazy danych.

Aby zapoznać się z innymi opcjami przenoszenia danych, zapoznaj się z tematem: