Przywracanie bazy danych w usłudze Azure SQL Managed Instance do poprzedniego punktu w czasie

Dotyczy:Azure SQL Managed Instance

W tym artykule opisano, jak wykonać przywracanie bazy danych do określonego punktu w czasie w usłudze Azure SQL Managed Instance. Możesz użyć przywracania do punktu w czasie, aby utworzyć bazę danych będącą kopią bazy danych z określonego wcześniejszego momentu.

Omówienie

Przywracanie do punktu w czasie jest przydatne w scenariuszach odzyskiwania. Na przykład w przypadku zdarzeń spowodowanych błędem lub niepowodzeniem albo gdy dane nie są ładowane poprawnie lub jeśli kluczowe dane zostaną usunięte. Możesz również użyć go po prostu do testowania i inspekcji wdrożenia bazy danych. Pliki kopii zapasowej platformy Azure są przechowywane przez 7 do 35 dni w zależności od ustawień bazy danych.

Możesz użyć przywracania do punktu w czasie, aby przywrócić bazę danych w następujących scenariuszach:

  • Z istniejącej bazy danych
  • Z usuniętej bazy danych
  • Do tego samego zarządzanego wystąpienia SQL lub do innego zarządzanego wystąpienia SQL
  • Do zarządzanego wystąpienia SQL w tej samej subskrypcji lub do zarządzanego wystąpienia SQL w innej subskrypcji

W poniższej tabeli przedstawiono scenariusze przywracania do punktu w czasie dla usługi SQL Managed Instance:

Scenariusz Azure Portal Interfejs wiersza polecenia platformy Azure PowerShell
Przywracanie istniejącej bazy danych do tego samego wystąpienia zarządzanego SQL Tak Tak Tak
Przywracanie istniejącej bazy danych do innego wystąpienia zarządzanego SQL Tak Tak Tak
Przywracanie usuniętej bazy danych do tego samego wystąpienia zarządzanego SQL Tak Tak Tak
Przywracanie usuniętej bazy danych do innego wystąpienia zarządzanego SQL Tak Tak Tak
Przywróć istniejącą bazę danych do zarządzanego wystąpienia SQL w innej subskrypcji Tak Tak Tak
Przywracanie usuniętej bazy danych na wystąpienie zarządzane SQL w innej subskrypcji Tak Tak Tak

Uprawnienia

Aby odzyskać bazę danych, musisz być jednym z poniższych:

Aby przywrócić bazę danych do innej docelowej subskrypcji, jeśli nie masz roli Współautor wystąpienia zarządzanego SQL, musisz również mieć następujące uprawnienia:

  • Microsoft.Sql/managedInstances/databases/readBackups/action w źródłowym wystąpieniu zarządzanym SQL.
  • Microsoft.Sql/managedInstances/crossSubscriptionPITR/action w docelowym wystąpieniu zarządzanym SQL.

Aby uzyskać więcej informacji, zobacz Wbudowane role platformy Azure.

Ograniczenia

Uwaga

Użyj bieżącej wersji wywołania interfejsu API tworzenia lub aktualizowania dla wszystkich operacji przywracania bazy danych.

Te ograniczenia dotyczą przywracania do punktu w czasie w usłudze SQL Managed Instance:

  • Nie można użyć przywracania do punktu w czasie, aby odzyskać całe wdrożenie usługi SQL Managed Instance. Przywracanie do punktu w czasie służy tylko do tworzenia kopii bazy danych hostowanej w usłudze SQL Managed Instance.

  • Ograniczenia dotyczące przywracania do określonego momentu w czasie zależą od tego, czy baza danych jest przywracana do wystąpienia zarządzanego SQL w tej samej subskrypcji, czy do wystąpienia zarządzanego SQL w innej subskrypcji.

  • Gdy zasady punktów końcowych usługi są włączone dla usługi Azure SQL Managed Instance, zastosowanie zasady punktów końcowych usługi do podsieci uniemożliwia przywracanie do określonego punktu w czasie z wystąpień znajdujących się w innych podsieciach.

Ostrzeżenie

Należy pamiętać o rozmiarze magazynu danych wystąpienia zarządzanego SQL. W zależności od rozmiaru danych do przywrócenia może zabraknąć miejsca do magazynowania w zarządzanym wystąpieniu SQL. Jeśli nie masz wystarczającej ilości miejsca do magazynowania w wystąpieniu zarządzanym SQL dla przywróconych danych, użyj innego podejścia.

Przywracanie do tej samej subskrypcji

W przypadku przywrócenia z jednego wystąpienia zarządzanego SQL do innego wystąpienia zarządzanego SQL w tej samej subskrypcji platformy Azure oba wystąpienia zarządzane SQL muszą znajdować się w tym samym regionie. Obecnie przywracanie między regionami nie jest obsługiwane.

Przywracanie do innej subskrypcji

Przywracanie kopii zapasowej do określonego momentu między subskrypcjami ma następujące ograniczenia:

  • Obie subskrypcje muszą znajdować się w tym samym regionie.

  • Obie subskrypcje muszą znajdować się w tym samym tenantcie.

  • Typ subskrypcji musi być jednym z następujących typów: Enterprise Agreement, Dostawca rozwiązań w chmurze, Microsoft Certified Partner lub płatność zgodnie z rzeczywistym użyciem.

  • Akcji przywracania można używać tylko w wystąpieniu podstawowym.

  • Kopię zapasową można przywrócić tylko z regionu podstawowego. Przywracanie bazy danych z regionu pomocniczego replikowanego geograficznie nie jest obsługiwane w przypadku przywracania do punktu w czasie między subskrypcjami.

  • Użytkownik, który wykonuje operację przywracania, musi mieć przypisaną rolę Współautor wystąpienia zarządzanego SQL lub następujące jawne uprawnienia:

    • Microsoft.Sql/managedInstances/databases/readBackups/action w źródłowym wystąpieniu zarządzanym SQL.
    • Microsoft.Sql/managedInstances/crossSubscriptionPITR/action w docelowym wystąpieniu zarządzanym SQL.
  • Jeśli używasz własnego klucza (BYOK), klucz musi być obecny w obu subskrypcjach.

Przywracanie istniejącej bazy danych

Istniejącą bazę danych można przywrócić w tej samej subskrypcji przy użyciu witryny Azure Portal, programu PowerShell lub interfejsu wiersza polecenia platformy Azure. Jeśli przywracasz do innego wystąpienia zarządzanego w tej samej subskrypcji przy użyciu programu PowerShell lub interfejsu wiersza polecenia Azure, upewnij się, że określisz właściwości zasobu docelowego wystąpienia zarządzanego SQL. Baza danych jest domyślnie przywracana do tego samego wystąpienia.

W przypadku przywrócenia do innej subskrypcji wywołanie interfejsu API Create or Update w wersji 5.0.2022 lub nowszej , które stanowi element akcji przywracania, musi zawierać następujące wartości:

  • restorePointInTime
  • crossSubscriptionTargetManagedInstanceId
  • I albo crossSubscriptionSourceDatabaseId lub crossSubscriptionRestorableDroppedDatabaseId.

Aby przywrócić istniejącą bazę danych, możesz to zrobić, przechodząc do strony bazy danych w witrynie Azure Portal i wybierając pozycję Przywróć.

Alternatywnie, aby przywrócić bazę danych, możesz wykonać następujące kroki:

  1. Zaloguj się w witrynie Azure Portal.

  2. Przejdź do docelowego wystąpienia zarządzanego SQL, do którego planujesz przywrócić bazę danych.

  3. Na stronie Przegląd wybierz pozycję + Nowa baza danych, aby otworzyć stronę Tworzenie usługi Azure SQL Managed Database.

    Zrzut ekranu przedstawiający okienko przeglądu usługi SQL Managed Instance w witrynie Azure Portal z wybraną nową bazą danych.

  4. Na karcie Podstawy na stronie Tworzenie usługi Azure SQL Managed Database podaj szczegóły subskrypcji i grupy zasobów w obszarze Szczegóły projektu. Następnie w obszarze Szczegóły bazy danych podaj nową nazwę bazy danych, którą planujesz przywrócić. Upewnij się, że na liście rozwijanej znajduje się właściwa instancja zarządzana SQL. Następnie wybierz pozycję Dalej: Źródło danych >

    Zrzut ekranu witryny Azure Portal przedstawiający kartę Podstawowe na stronie Tworzenie usługi Azure SQL Managed Database.

  5. Na karcie „Źródło danych” wybierz opcję „Przywracanie do punktu w czasie” w sekcji „Użyj istniejących danych”. Podaj subskrypcję, grupę zasobów i wystąpienie zarządzane SQL zawierające źródłową bazę danych. Z listy rozwijanej Zarządzanej bazy danych wybierz bazę danych, którą chcesz przywrócić, a następnie moment w czasie, z którego chcesz przywrócić bazę danych. Wystąpienie źródłowe i docelowe może być takie same lub dwa różne wystąpienia. Wybierz pozycję Dalej: Dodatkowe ustawienia >

    Zrzut ekranu portalu Azure przedstawiający kartę „Źródło danych” na stronie tworzenia usługi Azure SQL Managed Database z zaznaczoną opcją przywracania do punktu w czasie.

  6. Na karcie Dodatkowe ustawienia można zaznaczyć pole, aby dziedziczyć zasady przechowywania ze źródłowej bazy danych lub, alternatywnie, możesz wybrać pozycję Konfiguruj przechowywanie, aby otworzyć stronę Konfigurowanie zasad i ustawić żądane zasady przechowywania dla przywróconej bazy danych. Po zakończeniu wybierz pozycję Przejrzyj + utwórz.

    Zrzut ekranu witryny Azure Portal przedstawiający kartę dodatkowych ustawień na stronie Tworzenie usługi Azure SQL Managed Database.

  7. W obszarze Przeglądanie i tworzenie po pomyślnym zakończeniu walidacji wybierz pozycję Utwórz , aby przywrócić bazę danych.

Ta akcja rozpoczyna proces przywracania, który tworzy nową bazę danych i wypełnia ją danymi z oryginalnej bazy danych w określonym punkcie w czasie. Aby uzyskać więcej informacji na temat procesu odzyskiwania, zobacz Czas odzyskiwania.

Przywracanie usuniętej bazy danych

Usuniętą bazę danych można przywrócić przy użyciu witryny Azure Portal, programu Azure PowerShell lub interfejsu wiersza polecenia platformy Azure.

Aby przywrócić usuniętą zarządzaną bazę danych SQL za pomocą portalu Azure:

  1. W portalu Azure przejdź do źródłowego wystąpienia zarządzanego SQL.

  2. W menu po lewej stronie w obszarze Zarządzanie danymi wybierz pozycję Kopie zapasowe.

  3. W obszarze Pokaż bazy danych wybierz pozycję Usunięte.

  4. Aby przywrócić bazę danych, wybierz pozycję Przywróć.

    Zrzut ekranu przedstawiający dostępne bazy danych w portalu z wyróżnionym przyciskiem Przywróć w celu przywrócenia usuniętej bazy danych.

  5. W obszarze Tworzenie zarządzanej bazy danych Azure SQL wprowadź lub wybierz szczegóły docelowego wystąpienia zarządzanego SQL, do którego ma zostać przywrócona baza danych. Wybierz kartę Źródło danych.

  6. W polu Źródło danych wprowadź lub wybierz szczegóły źródłowej bazy danych. Wybierz kartę Ustawienia dodatkowe.

  7. W obszarze Dodatkowe ustawienia skonfiguruj ustawienia przechowywania. Wybierz kartę Przeglądanie i tworzenie .

  8. W obszarze Przeglądanie i tworzenie wybierz pozycję Utwórz , aby przywrócić usuniętą bazę danych.

Zastępowanie istniejącej bazy danych

Aby zastąpić istniejącą bazę danych, należy wykonać następujące czynności:

  1. Usuń oryginalną bazę danych, którą chcesz zastąpić.
  2. Zmień nazwę bazy danych przywróconej z punktu w czasie na nazwę usuniętej bazy danych.

Usuwanie oryginalnej bazy danych

Bazę danych można usunąć przy użyciu witryny Azure Portal, programu PowerShell lub interfejsu wiersza polecenia platformy Azure.

Inną opcją porzucania bazy danych jest nawiązanie połączenia z wystąpieniem zarządzanym SQL bezpośrednio w programie SQL Server Management Studio (SSMS), a następnie użycie polecenia DROP Transact-SQL (T-SQL):

DROP DATABASE WorldWideImporters;

Użyj jednej z następujących metod, aby nawiązać połączenie z bazą danych w wystąpieniu zarządzanym SQL:

  1. W portalu Azure wybierz bazę danych w Twoim wystąpieniu zarządzanym SQL.

  2. Na pasku poleceń wybierz pozycję Usuń.

    Zrzut ekranu przedstawiający sposób usuwania bazy danych przy użyciu witryny Azure Portal.

Zmień nową nazwę bazy danych tak, aby odpowiadała oryginalnej nazwie bazy danych

Użyj programu SQL Server Management Studio (SSMS), aby nawiązać bezpośrednie połączenie z wystąpieniem zarządzanym SQL. Następnie uruchom następujące zapytanie T-SQL. Zapytanie zmienia nazwę przywróconej bazy danych na nazwę usuniętej bazy danych, którą zamierzasz zastąpić.

ALTER DATABASE WorldWideImportersPITR MODIFY NAME = WorldWideImporters;

Użyj jednej z następujących metod, aby nawiązać połączenie z bazą danych w wystąpieniu zarządzanym SQL:

Następny krok