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

Dotyczy:Azure SQL Managed Instance

Możesz użyć przywracania do punktu w czasie, aby utworzyć bazę danych, która jest kopią bazy danych w określonym, wcześniejszym punkcie w czasie. W tym artykule opisano sposób wykonywania przywracania bazy danych do punktu w czasie w usłudze Azure SQL Managed Instance.

Uwaga

Tworzenie lub aktualizowanie wersji 02.01.2022 zostało uznane za przestarzałe. Począwszy od stycznia 2023 r., użyj zastępczego wywołania interfejsu API Create or Update v5.0.2022 dla wszystkich operacji przywracania bazy danych.

Omówienie

Przywracanie do punktu w czasie jest przydatne w scenariuszach odzyskiwania, na przykład w przypadku zdarzenia spowodowanego błędem lub niepowodzeniem, 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 wystąpienia zarządzanego lub do innego wystąpienia zarządzanego
  • Do wystąpienia zarządzanego w tej samej subskrypcji lub do wystąpienia zarządzanego 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 Tak Tak Tak
Przywracanie istniejącej bazy danych do innego wystąpienia zarządzanego Tak Tak Tak
Przywracanie usuniętej bazy danych do tego samego wystąpienia zarządzanego Tak Tak Tak
Przywracanie usuniętej bazy danych do innego wystąpienia zarządzanego Tak Tak Tak
Przywracanie istniejącej bazy danych do wystąpienia zarządzanego w innej subskrypcji Tak Tak Tak
Przywracanie usuniętej bazy danych do wystąpienia zarządzanego w innej subskrypcji Tak Tak Tak

Uprawnienia

Aby odzyskać bazę danych, musisz mieć następujące elementy:

  • Członek roli Współautor programu SQL Server lub rola Współautor wystąpienia zarządzanego SQL (w zależności od miejsca docelowego odzyskiwania) w subskrypcji
  • Właściciel subskrypcji

Aby przywrócić bazę danych do innej subskrypcji docelowej, jeśli nie masz roli Współautor wystąpienia zarządzanego SQL, musisz mieć również 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 Kontrola dostępu oparta na rolach platformy Azure: role wbudowane.

Ograniczenia

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 punktu w czasie zależą od tego, czy przywracasz bazę danych do wystąpienia zarządzanego w tej samej subskrypcji, czy do wystąpienia zarządzanego w innej subskrypcji.

  • Gdy zasady punktu końcowego usługi są włączone w usłudze Azure SQL Managed Instance, umieszczenie zasad punktu końcowego usługi w podsieci uniemożliwia przywracanie do punktu w czasie z wystąpień w różnych podsieciach.

Ostrzeżenie

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

Przywracanie do tej samej subskrypcji

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

Przywracanie do innej subskrypcji

Przywracanie kopii zapasowej przywracania do punktu w czasie w subskrypcjach ma następujące ograniczenia:

  • Obie subskrypcje muszą znajdować się w tym samym regionie.
  • Obie subskrypcje muszą znajdować się w tej samej dzierżawie.
  • Typ subskrypcji musi być Umowa Enterprise, Dostawca rozwiązań w chmurze, certyfikowany partner firmy Microsoft 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 podejmuje akcję przywracania, musi mieć przypisanie roli Współautor wystąpienia zarządzanego SQL lub mieć 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 w tej samej subskrypcji przy użyciu programu PowerShell lub interfejsu wiersza polecenia platformy Azure, upewnij się, że określono właściwości docelowego zasobu usługi SQL Managed Instance. Baza danych jest domyślnie przywracana do tego samego wystąpienia.

Jeśli przywrócisz do innej subskrypcji, wywołanie interfejsu API Create or Update v5.0.2022 , które stanowi element akcji przywracania, musi zawierać restorePointInTimewartości , crossSubscriptionTargetManagedInstanceIdi 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.

    Screenshot that shows the SQL Managed Instance overview pane in the Azure portal, with adding a new database selected.

  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ę poprawne wystąpienie zarządzane. Następnie wybierz pozycję Dalej: Źródło danych >

    Screenshot of the Azure portal that shows the Basics tab of the Create Azure SQL Managed Database page.

  5. Na karcie Źródło danych wybierz pozycję Przywracanie do punktu w czasie w obszarze Użyj istniejących danych. Podaj subskrypcję, grupę zasobów i wystąpienie zarządzane zawierające źródłową bazę danych. Z listy rozwijanej Zarządzana baza danych wybierz bazę danych , z której chcesz przywrócić, a następnie wybierz punkt 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 >

    Screenshot of the Azure portal that shows the data source tab of the Create Azure SQL Managed Database page, with point-in-time restore selected.

  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 i utwórz.

    Screenshot of the Azure portal that shows the additional settings tab of the Create Azure SQL Managed Database page.

  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 przy użyciu witryny Azure Portal:

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

  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óć.

    Screenshot that shows available databases in the portal, with the Restore button highlighted to restore a deleted database.

  5. W obszarze Tworzenie zarządzanej bazy danych Azure SQL wprowadź lub wybierz szczegóły dla docelowego wystąpienia zarządzanego, do których 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ą usunięcia bazy danych jest nawiązanie połączenia z wystąpieniem zarządzanym bezpośrednio w programie SQL Server Management Studio (SSMS), a następnie użycie DROP polecenia 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:

  1. W witrynie Azure Portal wybierz bazę danych w wystąpieniu zarządzanym.

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

    Screenshot that shows how to delete a database by using the 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. 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:

Następne kroki

Dowiedz się więcej o automatycznych kopiach zapasowych.