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.
Omówienie
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:
- Utwórz nową bazę danych na tym samym serwerze, odzyskaną do określonego punktu w czasie w ramach okresu przechowywania, z użyciem Przywracania do punktu w czasie.
- Utwórz bazę danych na tym samym serwerze, przywróconą do stanu sprzed czasu usunięcia bazy danych.
- Utwórz nową bazę danych na dowolnym serwerze w tym samym regionie, odzyskaną do czasu ostatniego utworzenia kopii zapasowej z przywracaniem długoterminowego przechowywania lub przywracaniem geograficznym.
- Utwórz nową bazę danych na dowolnym serwerze w dowolnym innym regionie, odzyskaną do punktu najnowszych replikowanych kopii zapasowych z przywracaniem geograficznym.
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 używania usługi w warstwie Standardowej lub Premium w modelu DTU przywracanie bazy danych może wiązać się z dodatkowymi kosztami przechowywania danych. 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
- Rozmiar zaangażowanych kopii zapasowych dziennika transakcji
- Ilość aktywności, którą należy odtworzyć, aby przywrócić system do punktu przywracania.
- Przepustowość sieci, jeśli przywracanie odbywa się w innym regionie
- Liczba współbieżnych żądań przywracania przetwarzanych w regionie docelowym
W przypadku dużej lub bardzo aktywnej bazy danych w warstwach usług innych niż hiperskalaprzywracanie 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ć. Aby uzyskać informacje na temat czasów odzyskiwania, zobacz RTO i RPO.
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 (dla puli) | 4 | 2000 |
Uprawnienia
Aby odzyskać przy użyciu automatycznych kopii zapasowych, należy być jedną z następujących opcji:
- 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 Wbudowane role RBAC platformy Azure.
Można odzyskać, używając portalu Azure, 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 z wybranego punktu w czasie. Przywracanie w tym samym punkcie w czasie między serwerami, subskrypcjami i różnymi 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 momentu w czasie w odniesieniu do geograficznie podrzędnej bazy danych. 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ą zostać zmniejszone, jeśli jest to wymagane.
- Jeśli utworzono obiekty In-Memory OLTP w bazie danych w warstwach usługi Kluczowe dla działalności biznesowej lub Premium, musisz użyć warstw usługi Kluczowe dla działalności biznesowej lub Premium dla przywróconej bazy danych. Aby uzyskać więcej informacji, zobacz Przywróć bazę danych z obiektami In-Memory OLTP.
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, aby otworzyć stronę Tworzenie bazy danych SQL Database — przywracanie bazy danych :
Na stronie Tworzenie bazy danych SQL - Przywracanie bazy danych określ źródło kopii zapasowej, a następnie wybierz punkt w czasie, z którego zostanie utworzona nowa baza danych. Ponieważ wybrana baza danych ma zostać przywrócona do bieżącego serwera, źródłowa baza danych i serwer docelowy są wyszarywane.
Przywracanie 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ć.
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. Jeśli serwer logiczny został usunięty, użyj poleceń interfejsu wiersza polecenia platformy Azure lub programu PowerShell, aby wyświetlić i przywrócić kopie zapasowe LTR.
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.
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 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 spowodowała, że baza danych lub cały region jest niedostępny.
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 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.
Przywracanie z geograficznie nadmiarowych kopii zapasowych może potencjalnie spowodować utratę danych w niektórych scenariuszach, ponieważ usługa Azure Geo-Redundant Storage (GRS) replikuje dane asynchronicznie do regionu pomocniczego. Istnieje pewne opóźnienie związane z procesem replikacji, ale dokładne opóźnienie może się różnić w zależności od kilku czynników, w tym odległości między regionami podstawowymi i pomocniczymi a bieżącymi warunkami sieci. Zazwyczaj opóźnienie replikacji GRS mieści się w zakresie minut, ale nie ma gwarancji, że mieści się w określonym przedziale czasu. Może to zająć dużo czasu, w zależności od rozmiaru każdej bazy danych. Aby uzyskać więcej informacji, zobacz RTO i RPO.
Na poniższej ilustracji przedstawiono przywracanie bazy danych z ostatniej dostępnej kopii zapasowej w innym regionie.
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.
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:
- Otwórz okienko Tworzenie bazy danych SQL w witrynie Azure Portal. Na karcie Podstawy wprowadź wymagane informacje.
- Wybierz pozycję Dodatkowe ustawienia.
- W obszarze Użyj istniejących danych wybierz pozycję Kopia zapasowa.
- Wybierz kopię z listy dostępnych kopii zapasowych do przywracania geograficznego.
Ukończ proces tworzenia bazy danych na podstawie kopii zapasowej. Podczas tworzenia bazy danych w usłudze Azure SQL Database, zawiera ona przywróconą kopię zapasową na potrzeby odzyskiwania 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 oraz lista kontrolna dotycząca wysokiej dostępności i odzyskiwania po awarii.
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. Aby uzyskać informacje na temat czasów odzyskiwania, zobacz RTO i RPO. 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 jest krytyczna dla działania firmy, przywracanie geograficzne baz danych 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 firmy, użyj grup przełączania awaryjnego. Ta funkcja oferuje znacznie niższe RPO i RTO, 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.
Przywracanie bazy danych na inny serwer
Aby przywrócić bazę danych na inny serwer, możesz użyć następujących metod:
- Przywracanie długoterminowych kopii zapasowych
- Przywracanie geograficzne
- Kopiowanie bazy danych
- Aktywna replikacja geograficzna
Powiązana zawartość
- Automatyczne kopie zapasowe
- Długoterminowe przechowywanie
- Aktywna replikacja geograficzna
- Przegląd i najlepsze praktyki dotyczące grup awaryjnego przełączania