Odzyskiwanie przy użyciu automatycznych kopii zapasowych bazy danych — Azure SQL Database SQL Managed Instance &

DOTYCZY: Azure SQL Database Azure SQL Managed Instance

Następujące opcje są dostępne do odzyskiwania bazy danych przy użyciu automatycznych kopii zapasowych bazy danych. Oto co możesz zrobić:

  • Utworzenie nowej bazy danych na tym samym serwerze, odzyskanej do określonego punktu w czasie w obrębie okresu przechowywania.
  • Utworzenie bazy danych na tym samym serwerze, odzyskanej do momentu odpowiadającego czasowi usunięcia bazy danych.
  • Utworzenie nowej bazy danych na dowolnym serwerze w tym samym regionie, odzyskanej do momentu utworzenia najnowszych kopii zapasowych.
  • Utworzenie nowej bazy danych na dowolnym serwerze w innym dowolnym regionie odzyskanej do momentu utworzenia najnowszych zreplikowanych kopii zapasowych. Przywracanie między regionami i między subskrypcjami w czasie dla SQL Managed Instance nie jest obecnie obsługiwane.

Jeśli skonfigurowano długoterminowe przechowywanie kopii zapasowych, możesz również utworzyć nową bazę danych na podstawie dowolnej długoterminowej kopii zapasowej przechowywania na dowolnym serwerze.

Ważne

Nie można zastąpić istniejącej bazy danych podczas przywracania.

W przypadku korzystania z warstwy usługi Standardowa lub Premium przywracanie bazy danych może spowodować naliczanie dodatkowych kosztów magazynowania. Dodatkowy koszt jest naliczany, gdy maksymalny rozmiar przywróconej bazy danych jest większy niż ilość miejsca w magazynie uwzględniona w warstwie usługi docelowej bazy danych i poziomie wydajności. Aby uzyskać szczegółowe informacje o cenach dodatkowego magazynu, zobacz stronę cennika SQL Database. Jeśli rzeczywista ilość używanego miejsca jest mniejsza niż ilość miejsca w magazynie, możesz uniknąć tego dodatkowego kosztu, ustawiając maksymalny rozmiar bazy danych na uwzględniony rozmiar.

Czas odzyskiwania

Na czas trwania przywracania bazy danych przy użyciu automatycznych kopii zapasowych bazy danych ma wpływ kilka czynników:

  • Rozmiar danych.
  • Rozmiar obliczeniowy bazy danych.
  • Liczba dzienników transakcji.
  • Ilość działań, które muszą zostać odtworzone w celu przeprowadzenia odzyskiwania do punktu przywracania.
  • Przepustowość sieci, jeśli przywracanie jest przeprowadzane do innego regionu.
  • Liczba współbieżnych żądań przywracania przetwarzanych w regionie docelowym.

W przypadku dużej lub bardzo aktywnej bazy danych przywracanie może potrwać kilka godzin. Jeśli w regionie występuje długotrwała awaria, możliwe jest, że duża liczby żądań przywracania geograficznego zostanie zainicjowana na potrzeby odzyskiwania po awarii. Jeśli istnieje wiele żądań, czas odzyskiwania poszczególnych baz danych może się wydłużyć. Większość operacji przywracania bazy danych kończy się w czasie krótszym niż 12 godzin.

W przypadku pojedynczej subskrypcji istnieją ograniczenia liczby współbieżnych żądań przywracania. Te ograniczenia mają zastosowanie do dowolnej kombinacji przywracania do punktu w czasie, przywracania geograficznego i przywracania z kopii zapasowej przechowywanej długoterminowo.

Porada

W przypadku Azure SQL Managed Instance aktualizacje systemu będą miały pierwszeństwo przed przywracaniem bazy danych w toku. Wszystkie oczekujące operacje przywracania w przypadku aktualizacji systemu w wystąpieniu zarządzanym zostaną zawieszone i wznowione po zastosowaniu aktualizacji. To zachowanie systemu może wydłużyć czas przywracania i może być szczególnie istotne dla długotrwałych przywracania. Aby osiągnąć przewidywalny czas przywracania bazy danych, rozważ skonfigurowanie okna obsługi umożliwiającego planowanie aktualizacji systemu w określonym dniu/czasie i rozważ uruchomienie przywracania bazy danych poza zaplanowanym dniem/godziną okna konserwacji.

Opcja wdrożenia Maksymalna liczba przetwarzanych żądań współbieżnych Maksymalna liczba przesyłanych żądań współbieżnych
Pojedyncza baza danych (na subskrypcję) 30 100
Pula elastyczna (na pulę) 4 2000

Nie ma wbudowanej metody przywracania całego serwera. Aby zapoznać się z przykładem wykonania tego zadania, zobacz Azure SQL Database: Pełne odzyskiwanie serwera.

Ważne

Aby odzyskać przy użyciu automatycznych kopii zapasowych, musisz być członkiem roli współautora SQL Server lub roli współautora SQL Managed Instance (w zależności od miejsca docelowego odzyskiwania) w subskrypcji lub musisz być właścicielem subskrypcji. Aby uzyskać więcej informacji, zobacz Kontrola RBAC platformy Azure: role wbudowane. Odzyskiwanie można odzyskać przy użyciu Azure Portal, programu PowerShell lub interfejsu API REST. Nie można użyć języka Transact-SQL.

Przywracanie do określonego momentu

Możesz przywrócić autonomiczną, w puli lub bazę danych wystąpień do wcześniejszego punktu w czasie przy użyciu Azure Portal, programu PowerShell lub interfejsu API REST. Żądanie może określać dowolną warstwę usługi lub rozmiar obliczeniowy przywróconej bazy danych. Upewnij się, że masz wystarczające zasoby na serwerze, na którym przywracasz bazę danych.

Po zakończeniu przywracanie tworzy nową bazę danych na tym samym serwerze co oryginalna baza danych. Przywrócona baza danych jest naliczana według normalnych stawek na podstawie warstwy usług i rozmiaru obliczeń. Opłaty nie są naliczane, dopóki przywracanie bazy danych nie zostanie ukończone.

Zazwyczaj przywracasz bazę danych do wcześniejszego punktu na potrzeby odzyskiwania. Przywróconą bazę danych można traktować jako zamiennik oryginalnej bazy danych lub użyć jej jako źródła danych w celu zaktualizowania oryginalnej bazy danych.

Ważne

Przywracanie można uruchamiać tylko na tym samym serwerze, przywracanie między serwerami nie jest obsługiwane przez przywracanie do punktu w czasie.

  • Wymiana bazy danych

    Jeśli przywrócona baza danych ma być zamiennikiem oryginalnej bazy danych, należy określić rozmiar obliczeniowy oryginalnej bazy danych i warstwę usługi. Następnie można zmienić nazwę oryginalnej bazy danych i nadać przywróconej bazie danych oryginalną nazwę za pomocą polecenia ALTER DATABASE w języku T-SQL.

  • Odzyskiwanie danych

    Jeśli planujesz pobrać dane z przywróconej bazy danych w celu odzyskania po błędzie użytkownika lub aplikacji, musisz napisać i wykonać skrypt odzyskiwania danych, który wyodrębnia dane z przywróconej bazy danych i stosuje je do oryginalnej bazy danych. Chociaż operacja przywracania może zająć dużo czasu, przywracanie bazy danych jest widoczne na liście baz danych w całym procesie przywracania. Jeśli usuniesz bazę danych podczas przywracania, operacja przywracania zostanie anulowana i nie zostanie naliczona opłata za bazę danych, która nie zakończyła przywracania.

Przywracanie do punktu w czasie przy użyciu Azure Portal

Pojedynczą bazę danych lub wystąpienie można odzyskać do punktu w czasie z bloku przeglądu bazy danych, którą chcesz przywrócić w Azure Portal.

SQL Database

Aby odzyskać bazę danych do punktu w czasie przy użyciu Azure Portal, otwórz stronę przeglądu bazy danych i wybierz pozycję Przywróć na pasku narzędzi. Wybierz źródło kopii zapasowej i wybierz punkt w czasie tworzenia kopii zapasowej, z którego zostanie utworzona nowa baza danych.

Screenshot of database restore options for SQL Database.

Wystąpienie zarządzane SQL

Aby odzyskać bazę danych wystąpienia zarządzanego do punktu w czasie przy użyciu Azure Portal, otwórz stronę przeglądu bazy danych i wybierz pozycję Przywróć na pasku narzędzi. Wybierz punkt kopii zapasowych w czasie, z którego zostanie utworzona nowa baza danych.

Screenshot of database restore options for SQL managed instance.

Porada

Aby programowo przywrócić bazę danych z kopii zapasowej, zobacz Programowe odzyskiwanie przy użyciu automatycznych kopii zapasowych.

Przywracanie usuniętej bazy danych

Usuniętą bazę danych można przywrócić do czasu usunięcia lub wcześniejszego punktu w czasie na tym samym serwerze lub tym samym wystąpieniu zarządzanym. Można to zrobić za pomocą witryny Azure Portal, programu PowerShelllub interfejsu REST (createMode=Restore). Usuniętą bazę danych można przywrócić, tworząc nową bazę danych z kopii zapasowej.

Ważne

Jeśli usuniesz serwer lub wystąpienie zarządzane, wszystkie jego bazy danych zostaną również usunięte i nie można ich odzyskać. Nie można przywrócić usuniętego serwera ani wystąpienia zarządzanego.

Przywracanie usuniętej bazy danych przy użyciu Azure Portal

Przywracasz usunięte bazy danych z Azure Portal z serwera lub zasobu wystąpienia zarządzanego.

Porada

Może upłynąć kilka minut, zanim ostatnio usunięte bazy danych zostaną wyświetlone na stronie Usunięte bazy danych w witrynie Azure Portal lub w przypadku programowego wyświetlania usuniętych baz danych.

SQL Database

Aby odzyskać usuniętą bazę danych do czasu usunięcia przy użyciu Azure Portal, otwórz stronę przeglądu serwera i wybierz pozycję Usunięte bazy danych. Wybierz usuniętą bazę danych, którą chcesz przywrócić, i wpisz nazwę nowej bazy danych, która zostanie utworzona przy użyciu danych przywróconych z kopii zapasowej.

Screenshot of restore deleted database

Wystąpienie zarządzane SQL

Aby odzyskać zarządzaną bazę danych przy użyciu Azure Portal, otwórz stronę przeglądu wystąpienia zarządzanego i wybierz pozycję Usunięte bazy danych. Wybierz usuniętą bazę danych, którą chcesz przywrócić, i wpisz nazwę nowej bazy danych, która zostanie utworzona przy użyciu danych przywróconych z kopii zapasowej.

Screenshot of restore deleted Azure SQL Managed Instance database

Przywracanie usuniętej bazy danych przy użyciu programu PowerShell

Użyj poniższych przykładowych skryptów, aby przywrócić usuniętą bazę danych dla SQL Database lub SQL Managed Instance przy użyciu programu PowerShell.

SQL Database

Aby zapoznać się z przykładowym skryptem programu PowerShell pokazującym sposób przywracania usuniętej bazy danych w Azure SQL Database, zobacz Przywracanie bazy danych przy użyciu programu PowerShell.

Wystąpienie zarządzane SQL

Aby uzyskać przykładowy skrypt programu PowerShell pokazujący sposób przywracania usuniętej bazy danych wystąpień, zobacz Przywracanie usuniętej bazy danych wystąpień przy użyciu programu PowerShell

Porada

Aby programowo przywrócić usuniętą bazę danych, zobacz Programowe wykonywanie odzyskiwania przy użyciu automatycznych kopii zapasowych.

Przywracanie geograficzne

Ważne

Bazę danych można przywrócić na dowolnym serwerze SQL Database lub w bazie danych wystąpień w dowolnym wystąpieniu zarządzanym w dowolnym regionie platformy Azure z najnowszych kopii zapasowych replikowanych geograficznie. Przywracanie geograficzne używa kopii zapasowej replikowanej geograficznie jako źródła. Możesz zażądać przywracania geograficznego, nawet jeśli baza danych lub centrum danych jest niedostępna z powodu awarii.

Przywracanie geograficzne to domyślna opcja odzyskiwania, gdy baza danych jest niedostępna z powodu zdarzenia w regionie hostingu. Bazę danych można przywrócić na serwerze w dowolnym innym regionie. Występuje opóźnienie między wykonaniem kopii zapasowej a replikacją geograficzną do obiektu blob platformy Azure w innym regionie. W związku z tym przywrócona baza danych może być maksymalnie jedna godzina za oryginalną bazą danych. Poniższa ilustracja przedstawia przywracanie bazy danych z ostatniej dostępnej kopii zapasowej w innym regionie.

Graphic of geo-restore

Przywracanie geograficzne przy użyciu Azure Portal

W Azure Portal utworzysz nową bazę danych pojedynczego wystąpienia lub wystąpienia zarządzanego i wybierzesz dostępną kopię zapasową przywracania geograficznego. Nowo utworzona baza danych zawiera dane kopii zapasowej przywrócone geograficznie.

SQL Database

Aby przywrócić geograficznie pojedynczą bazę danych z Azure Portal w wybranym regionie i na wybranym serwerze, wykonaj następujące kroki:

  1. Na pulpicie nawigacyjnym wybierz pozycję DodajUtwórz> SQL Database. Na karcie Podstawy wprowadź wymagane informacje.

  2. Wybierz pozycję Dodatkowe ustawienia.

  3. W obszarze Użyj istniejących danych wybierz pozycję Kopia zapasowa.

  4. W obszarze Kopia zapasowa wybierz kopię zapasową z listy dostępnych kopii zapasowych przywracania geograficznego.

    Screenshot of Create SQL Database options

Ukończ proces tworzenia nowej bazy danych na podstawie kopii zapasowej. Podczas tworzenia bazy danych w Azure SQL Database zawiera ona przywróconą kopię zapasową przywracania geograficznego.

Wystąpienie zarządzane SQL

Aby wykonać przywracanie geograficzne bazy danych wystąpienia zarządzanego z witryny Azure Portal do istniejącego wystąpienia zarządzanego w wybranym regionie, wybierz wystąpienie zarządzane, w którym chcesz przywrócić bazę danych. Wykonaj następujące kroki:

  1. Wybierz pozycję Nowa baza danych.

  2. Wpisz żądaną nazwę bazy danych.

  3. W obszarze Użyj istniejących danych wybierz pozycję Kopia zapasowa.

  4. Wybierz kopię zapasową z listy dostępnych kopii zapasowych przywracania geograficznego.

    Screenshot of New database options

Ukończ proces tworzenia nowej bazy danych. Podczas tworzenia bazy danych wystąpień zawiera ona przywróconą kopię zapasową przywracania geograficznego.

Przywracanie geograficzne przy użyciu programu PowerShell

SQL Database

Aby uzyskać skrypt programu PowerShell pokazujący sposób wykonywania przywracania geograficznego dla pojedynczej bazy danych, zobacz Przywracanie pojedynczej bazy danych do wcześniejszego punktu w czasie przy użyciu programu PowerShell.

Wystąpienie zarządzane SQL

Aby uzyskać skrypt programu PowerShell pokazujący sposób wykonywania przywracania geograficznego dla bazy danych wystąpienia zarządzanego, zobacz Przywracanie bazy danych wystąpienia zarządzanego do innego regionu geograficznego przy użyciu programu PowerShell.

Zagadnienia przywracania geograficznego

Nie można wykonać przywracania do punktu w czasie w odniesieniu do pomocniczej bazy danych z replikacją geograficzną. Można to zrobić tylko w odniesieniu do podstawowej bazy danych. Aby uzyskać szczegółowe informacje na temat odzyskiwania po awarii przy użyciu przywracania geograficznego, zobacz Odzyskiwanie po awarii.

Ważne

Przywracanie geograficzne to najbardziej podstawowe rozwiązanie odzyskiwania po awarii dostępne w SQL Database i SQL Managed Instance. Opiera się on na automatycznie tworzonych kopiach zapasowych replikowanych geograficznie z celem punktu odzyskiwania (RPO) do 1 godziny i szacowanym czasie odzyskiwania do 12 godzin. Nie gwarantuje to, że region docelowy będzie miał pojemność do przywrócenia baz danych po awarii regionalnej, ponieważ prawdopodobny jest gwałtowny wzrost zapotrzebowania. Jeśli aplikacja używa stosunkowo małych baz danych i nie ma krytycznego dla firmy, przywracanie geograficzne jest odpowiednim rozwiązaniem odzyskiwania po awarii.

W przypadku aplikacji krytycznych dla działania firmy, które wymagają dużych baz danych i muszą zapewnić ciągłość działalności biznesowej, użyj grup automatycznego trybu failover. Oferuje znacznie niższy cel punktu odzyskiwania i cel czasu odzyskiwania, a pojemność jest zawsze gwarantowana.

Aby uzyskać więcej informacji na temat opcji ciągłości działania, zobacz Omówienie ciągłości działania.

Programowe odzyskiwanie przy użyciu automatycznych kopii zapasowych

Do odzyskiwania można również użyć Azure PowerShell lub interfejsu API REST. W poniższych tabelach opisano zestaw dostępnych poleceń.

PowerShell

Uwaga

W tym artykule użyto modułu Azure Az programu PowerShell, który jest zalecanym modułem programu PowerShell do interakcji z platformą Azure. Aby rozpocząć pracę z modułem Azure PowerShell, zobacz Instalowanie programu Azure PowerShell. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.

Ważne

Moduł Azure Resource Manager programu PowerShell jest nadal obsługiwany przez SQL Database i SQL Managed Instance, ale cały przyszły rozwój jest przeznaczony dla modułu Az.Sql. Aby uzyskać te polecenia cmdlet, zobacz AzureRM.Sql. Argumenty poleceń w module Az i modułach usługi Azure Resource Manager są w dużym stopniu identyczne.

Uwaga

Punkty przywracania reprezentują okres między najwcześniejszym punktem przywracania a najnowszym punktem kopii zapasowej dziennika. Informacje o najnowszym punkcie przywracania są obecnie niedostępne w Azure PowerShell.

SQL Database

Aby przywrócić autonomiczną lub w puli bazę danych, zobacz Restore-AzSqlDatabase.

Polecenie cmdlet Opis
Get-AzSqlDatabase Pobiera co najmniej jedną bazę danych.
Get-AzSqlDeletedDatabaseBackup Pobiera usuniętą bazę danych, którą można przywrócić.
Get-AzSqlDatabaseGeoBackup Pobiera geograficznie nadmiarową kopię zapasową bazy danych.
Restore-AzSqlDatabase Przywraca bazę danych.

Porada

Aby zapoznać się z przykładowym skryptem programu PowerShell, który pokazuje, jak wykonać przywracanie bazy danych do punktu w czasie, zobacz Przywracanie bazy danych przy użyciu programu PowerShell.

Wystąpienie zarządzane SQL

Aby przywrócić bazę danych wystąpienia zarządzanego, zobacz Restore-AzSqlInstanceDatabase.

Polecenie cmdlet Opis
Get-AzSqlInstance Pobiera co najmniej jedno wystąpienie zarządzane.
Get-AzSqlInstanceDatabase Pobiera bazę danych wystąpień.
Restore-AzSqlInstanceDatabase Przywraca bazę danych wystąpień.

Interfejs API REST

Aby przywrócić bazę danych przy użyciu interfejsu API REST:

Interfejs API Opis
REST (createMode=Recovery) Przywraca bazę danych.
Uzyskiwanie stanu tworzenia lub aktualizowania bazy danych Zwraca stan podczas operacji przywracania.

Interfejs wiersza polecenia platformy Azure

SQL Database

Aby przywrócić bazę danych przy użyciu interfejsu wiersza polecenia platformy Azure, zobacz az sql db restore.

Wystąpienie zarządzane SQL

Aby przywrócić bazę danych wystąpienia zarządzanego przy użyciu interfejsu wiersza polecenia platformy Azure, zobacz az sql midb restore.

Podsumowanie

Automatyczne kopie zapasowe chronią bazy danych przed błędami użytkowników i aplikacji, przypadkowym usunięciem bazy danych i długotrwałymi awariami. Ta wbudowana funkcja jest dostępna dla wszystkich warstw usług i rozmiarów obliczeniowych.

Następne kroki