Tworzenie kopii zapasowej i przywracanie bazy danych przy użyciu usługi Azure SQL Database
Tworzenie kopii zapasowej i przywracanie w usłudze SQL Server PaaS działa inaczej niż w usłudze IaaS. Kopie zapasowe są generowane automatycznie dla usługi Azure SQL Database i usługi Azure SQL Managed Instance. Pełna kopia zapasowa jest tworzona raz w tygodniu, różnicowa co 12 godzin i kopie zapasowe dziennika transakcji co 5–10 minut. Wszystkie kopie zapasowe znajdują się w obiektach blob z dostępem do odczytu, geograficznie nadmiarowych (RA-GRS) replikowanych do centrum danych sparowanego na podstawie reguł platformy Azure. Oznacza to, że kopie zapasowe są bezpieczne przed awarią w jednym centrum danych.
Tworzenie i przywracanie kopii zapasowej bazy danych dla usługi SQL Database
Usługa SQL Database może pomóc w zachowaniu zgodności z obowiązkowymi kopiami zapasowymi w celach regulacyjnych z zasadami przechowywania. Zasady tworzenia kopii zapasowych można skonfigurować dla każdej bazy danych, jak pokazano na poniższej ilustracji:
Jeśli serwer zawierający bazę danych zostanie usunięty, wszystkie kopie zapasowe zostaną usunięte w tym samym czasie i nie ma możliwości ich odzyskania. Jeśli serwer nie został usunięty, ale baza danych jest, możesz przywrócić bazę danych normalnie.
Zarówno usługa SQL Database, jak i wystąpienie zarządzane SQL mają funkcję o nazwie Przyspieszone odzyskiwanie bazy danych (ADR). Ta funkcja jest domyślnie włączona, a jej celem jest skrócenie czasu czynienia z długotrwałymi transakcjami, aby nie wpływały na czas odzyskiwania. Mimo że przyspieszone odzyskiwanie bazy danych zostało opracowane dla platformy Azure i pierwotnie było funkcją opartą na platformie Azure, adr została również zaimplementowana w programie SQL Server 2019.
Uwaga
Nie można przywrócić kopii zapasowych wystąpienia zarządzanego usługi SQL Database w usłudze SQL Database.
Przywracanie do punktu w czasie
Aby przywrócić bazę danych do określonego punktu w czasie w usłudze SQL Database, możesz użyć witryny Azure Portal, programu Azure PowerShell, interfejsu wiersza polecenia platformy Azure lub interfejsu API REST.
Na powyższym obrazie przedstawiono stronę przywracania usługi SQL Database w witrynie Azure Portal, na której można przywrócić bazę danych do określonego punktu w czasie.
Przywracanie na miejscu nie jest obsługiwane w usłudze SQL Database i w usłudze SQL Managed Instance. Przed podjęciem próby wykonania operacji przywracania należy upewnić się, że baza danych nie istnieje. Domyślnie zasady przechowywania punktu w czasie są ustawione na siedem dni i można je zmienić na maksymalnie 35 dni.
Przywracanie usuniętej bazy danych
Zarówno usługa SQL Database, jak i wystąpienie zarządzane SQL mają funkcję przywracania usuniętej bazy danych do ostatniego punktu w czasie dostępnego przed wystąpieniem DROP DATABASE
.
Na powyższym obrazie przedstawiono sposób przywracania usuniętej bazy danych w usłudze SQL Database. Usunięta strona baz danych zawiera listę usuniętych baz danych dostępnych do przywrócenia, czas usunięcia bazy danych w formacie UTC oraz czas tworzenia bazy danych w formacie UTC. Po wybraniu bazy danych zostanie otwarta strona Tworzenie bazy danych SQL Database — przywracanie. Na tej stronie znajdziesz najwcześniejszy punkt przywracania w czasie dostępny dla wybranej bazy danych.
Tworzenie i przywracanie kopii zapasowej bazy danych dla usługi SQL Managed Instance
Platforma Azure automatycznie zarządza kopiami zapasowymi baz danych w usłudze SQL Managed Instance i działa podobnie do usługi SQL Database.
Możesz również ręcznie tworzyć kopie zapasowe i przywracać bazy danych za pomocą usługi SQL Managed Instance przy użyciu tej samej kopii zapasowej do adresu URL/przywracania z funkcji adresu URL znalezionej wcześniej w programie SQL Server. Wymaga to użycia poświadczeń w celu uzyskania dostępu do kontenera usługi Azure Blob Storage. Usługa SQL Database nie obsługuje tej funkcji.
Możesz wygenerować kopię zapasową COPY_ONLY
tylko dlatego, że usługa SQL Managed Instance utrzymuje łańcuch dzienników. Przykładowa instrukcja tworzenia kopii zapasowej wygląda następująco:
BACKUP DATABASE contoso
TO URL = 'https://myacc.blob.core.windows.net/mycontainer/contoso.bak'
WITH COPY_ONLY
Uwaga
Nie można przywrócić kopii zapasowych wystąpienia zarządzanego usługi SQL Database w usłudze SQL Database.