Przywracanie bazy danych z kopii zapasowej w usłudze Azure SQL Database

Dotyczy:Azure SQL Database

Ten artykuł zawiera kroki odzyskiwania dowolnej bazy danych z kopii zapasowej w usłudze Azure SQL Database, w tym baz danych w warstwie Hiperskala. W przypadku usługi Azure SQL Managed Instance zobacz Przywracanie bazy danych z kopii zapasowej w usłudze Azure SQL Managed Instance.

Automatyczne kopie zapasowe bazy danych pomagają 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. Dostępne są następujące opcje odzyskiwania bazy danych za pośrednictwem automatycznych kopii zapasowych:

  • 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.
  • Utwórz nową bazę danych na dowolnym serwerze w tym samym regionie, odzyskaną do czasu utworzenia najnowszej kopii zapasowej.
  • Utworzenie nowej bazy danych na dowolnym serwerze w innym dowolnym regionie odzyskanej do momentu utworzenia najnowszych zreplikowanych kopii zapasowych.

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

Ważne

  • Nie można zastąpić istniejącej bazy danych podczas przywracania.
  • Operacje przywracania bazy danych nie przywracają tagów oryginalnej bazy danych.

W przypadku korzystania z warstwy usługi Standardowa lub Premium w modelu zakupów jednostek DTU przywracanie bazy danych może wiązać się z dodatkowymi kosztami magazynowania. Dodatkowy koszt występuje, gdy maksymalny rozmiar przywróconej bazy danych jest większy niż ilość miejsca w magazynie uwzględniona w docelowej warstwie usługi i celu usługi bazy danych.

Aby uzyskać szczegółowe informacje o cenach dodatkowego magazynu, zobacz stronę cennika usługi 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ędniona ilość.

Czas odzyskiwania

Kilka czynników wpływa na czas odzyskiwania w celu przywrócenia bazy danych za pomocą automatycznych kopii zapasowych bazy danych:

  • Rozmiar bazy danych
  • Rozmiar obliczeniowy bazy danych
  • Liczba zaangażowanych dzienników transakcji
  • Ilość działań, które należy odtworzyć w celu odzyskania do punktu przywracania
  • Przepustowość sieci, jeśli przywracanie jest w innym regionie
  • 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. Długotrwała awaria w regionie może spowodować dużą liczbę żądań przywracania geograficznego 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 masz następujące ograniczenia dotyczące 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.

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

Uprawnienia

Aby odzyskać przy użyciu automatycznych kopii zapasowych, należy wykonać jedną z następujących czynności:

  • Członek roli Współautor lub Współautor programu SQL Server w subskrypcji lub grupie zasobów zawierającej serwer logiczny
  • Właściciel subskrypcji lub grupy zasobów

Aby uzyskać więcej informacji, zobacz Kontrola dostępu oparta na rolach platformy Azure: role wbudowane.

Odzyskiwanie można odzyskać przy użyciu witryny Azure Portal, programu PowerShell lub interfejsu API REST. Nie można użyć języka Transact-SQL.

Przywracanie do punktu w czasie

W okresie przechowywania można przywrócić dowolną bazę danych do wcześniejszego punktu w czasie. Żądanie przywracania może określać dowolną warstwę usługi lub rozmiar obliczeniowy dla przywróconej bazy danych. Podczas przywracania bazy danych do elastycznej puli upewnij się, że masz wystarczające zasoby w puli, aby pomieścić bazę danych.

Po zakończeniu przywracania zostanie utworzona nowa baza 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 obliczeniowego. 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

  • Możesz wykonać przywracanie bazy danych do tego samego serwera do punktu w czasie. Przywracanie między serwerami, między subskrypcjami i przywracaniem między punktami w czasie między lokalizacjami geograficznymi nie jest obecnie obsługiwane. Aby przywrócić bazę danych do innego regionu przy użyciu kopii zapasowych replikowanych geograficznie, zobacz Przywracanie geograficzne.
  • 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.
  • Parametr BackupFrequency nie jest obsługiwany w przypadku baz danych w warstwie Hiperskala.
  • Operacje przywracania bazy danych intensywnie korzystają z zasobów i mogą wymagać warstwy usługi S3 lub nowszej dla bazy danych przywracania (docelowej). Po zakończeniu przywracania baza danych lub elastyczna pula mogą być skalowane w dół, jeśli jest to wymagane.
  • Wymiana bazy danych

    Jeśli chcesz, aby przywrócona baza danych zastępuje oryginalną bazę danych, określ rozmiar obliczeniowy i warstwę usługi oryginalnej bazy danych. 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 sprawności po błędzie użytkownika lub aplikacji, musisz napisać i uruchomić skrypt odzyskiwania danych, który wyodrębnia dane z przywróconej bazy danych i ma zastosowanie 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. Nie zostaną naliczone opłaty za bazę danych, która nie ukończyła przywracania.

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

Zrzut ekranu przedstawiający opcje przywracania bazy danych dla usługi SQL Database.

Przywracania długoterminowych kopii zapasowych

Aby wykonać operację przywracania na długoterminowej kopii zapasowej, możesz użyć witryny Azure Portal, interfejsu wiersza polecenia platformy Azure, programu Azure PowerShell lub interfejsu API REST. Aby uzyskać więcej informacji, zobacz Przywracanie długoterminowej kopii zapasowej.

Aby odzyskać długoterminową kopię zapasową przy użyciu witryny Azure Portal, przejdź do serwera logicznego. Wybierz pozycję Kopie zapasowe w obszarze Zarządzanie danymi, a następnie wybierz pozycję Zarządzaj w obszarze Dostępne kopie zapasowe LTR dla bazy danych, którą próbujesz przywrócić.

Zrzut ekranu witryny Azure Portal przedstawiający dostępne kopie zapasowe przechowywania długoterminowego.

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 przy użyciu witryny Azure Portal, interfejsu wiersza polecenia platformy Azure, programu Azure PowerShell i interfejsu API REST.

Ważne

Jeśli usuniesz serwer, wszystkie jego bazy danych i kopie zapasowe pitr również zostaną usunięte. Nie można przywrócić usuniętego serwera i nie można przywrócić usuniętych baz danych z kopii zapasowych PITR. Jeśli skonfigurowano kopie zapasowe LTR dla tych baz danych, możesz użyć tych kopii zapasowych do przywrócenia baz danych na innym serwerze.

Aby odzyskać usuniętą bazę danych do czasu usunięcia przy użyciu witryny 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ć, a następnie wprowadź nazwę nowej bazy danych, która zostanie utworzona przy użyciu danych przywróconych z kopii zapasowej.

Zrzut ekranu witryny Azure Portal przedstawiający sposób przywracania usuniętej bazy danych.

Napiwek

Wyświetlenie ostatnio usuniętych baz danych na stronie Usunięte bazy danych w witrynie Azure Portal może potrwać kilka minut lub jeśli chcesz programowo wyświetlić usunięte bazy danych.

Przywracanie geograficzne

Przywracanie geograficzne umożliwia przywrócenie usuniętej bazy danych przy użyciu witryny Azure Portal, interfejsu wiersza polecenia platformy Azure, programu Azure PowerShell i interfejsu API REST.

Ważne

  • Przywracanie geograficzne jest dostępne tylko dla baz danych skonfigurowanych z geograficznie nadmiarowym magazynem kopii zapasowych. Jeśli obecnie nie używasz replikowanych geograficznie kopii zapasowych bazy danych, możesz to zmienić, konfigurując nadmiarowość magazynu kopii zapasowych.
  • Przywracanie geograficzne można wykonać tylko w bazach danych znajdujących się w tej samej subskrypcji.

Przywracanie geograficzne używa kopii zapasowych replikowanych geograficznie jako źródła. Bazę danych można przywrócić na dowolnym serwerze logicznym w dowolnym regionie platformy Azure z najnowszych kopii zapasowych replikowanych geograficznie. Możesz zażądać przywrócenia geograficznego, nawet jeśli awaria bazy danych lub całego regionu jest niedostępna.

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 utworzeniem 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. Na poniższej ilustracji przedstawiono przywracanie bazy danych z ostatniej dostępnej kopii zapasowej w innym regionie.

Ilustracja przedstawiająca przywracanie geograficzne.

W witrynie Azure Portal utworzysz nową pojedynczą bazę danych i wybierzesz dostępną kopię zapasową przywracania geograficznego. Nowo utworzona baza danych zawiera dane kopii zapasowej przywrócone geograficznie.

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

  1. Na pulpicie nawigacyjnym wybierz pozycję Dodaj>utwórz bazę danych 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. Wybierz kopię zapasową z listy dostępnych kopii zapasowych przywracania geograficznego.

Zrzut ekranu witryny Azure Portal przedstawiający opcje tworzenia bazy danych.

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

Zagadnienia przywracania geograficznego

Aby uzyskać więcej informacji na temat korzystania z przywracania geograficznego, zobacz Odzyskiwanie przy użyciu przywracania geograficznego.

Uwaga

Aby uzyskać szczegółowe informacje na temat odzyskiwania po awarii, zobacz Wskazówki dotyczące odzyskiwania po awarii usługi Azure SQL Database oraz lista kontrolna dotycząca wysokiej dostępności i odzyskiwania po awarii usługi Azure SQL Database.

Przywracanie geograficzne to najbardziej podstawowe rozwiązanie odzyskiwania po awarii dostępne w usłudze SQL Database. Opiera się na automatycznie tworzonych geograficznie replikowanych kopiach zapasowych z celem punktu odzyskiwania (RPO) do 1 godziny i szacowanym celem czasu odzyskiwania (RTO) do 12 godzin. Nie gwarantuje to, że docelowy region 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 o krytycznym znaczeniu dla działania firmy, które wymagają dużych baz danych i muszą zapewnić ciągłość działania, użyj grup trybu failover. Ta funkcja 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.

Uwaga

Jeśli planujesz użycie funkcji przywracania geograficznego jako rozwiązania odzyskiwania po awarii, zalecamy przeprowadzenie okresowych prób w celu sprawdzenia tolerancji aplikacji na wszelkie straty ostatnich modyfikacji danych wraz ze wszystkimi aspektami operacyjnymi procedury odzyskiwania.

Następne kroki