Udostępnij przez


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

Dotyczy:Azure SQL Managed Instance

W tym artykule opisano sposób wykonywania przywracania bazy danych do punktu w czasie w usłudze 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.

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 wystąpienia zarządzanego SQL lub do innego wystąpienia zarządzanego SQL
  • Do wystąpienia zarządzanego SQL w tej samej subskrypcji lub do wystąpienia zarządzanego 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
Przywracanie istniejącej bazy danych do wystąpienia zarządzanego SQL w innej subskrypcji Tak Tak Tak
Przywracanie usuniętej bazy danych do wystąpienia zarządzanego SQL 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 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 punktu w czasie zależą od tego, czy przywracasz bazę danych do wystąpienia zarządzanego SQL w tej samej subskrypcji, czy do wystąpienia zarządzanego SQL 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 SQL. W zależności od rozmiaru danych do przywrócenia może zabrakło miejsca do magazynowania dla wystąpienia zarządzanego 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 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.

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 Podstawyna 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 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 pozycję Przywracanie do punktu w czasie w obszarze 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ą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 >

    Zrzut ekranu witryny Azure Portal przedstawiający kartę Źródło danych na stronie Tworzenie usługi Azure SQL Managed Database z wybranym przywracaniem 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 i 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ą bazę danych sql managed database przy użyciu witryny Azure Portal:

  1. W witrynie Azure Portal 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ó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ą 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 witrynie Azure Portal wybierz bazę danych w 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