Wykonywanie przywracania do punktu w czasie
Użyj przywracania do punktu w czasie (PITR), aby utworzyć bazę danych jako kopię innej bazy danych z jakiegoś czasu w przeszłości, która znajduje się w okresie przechowywania. W tym artykule opisano sposób wykonywania przywracania bazy danych do punktu w czasie w wystąpieniu zarządzanym SQL włączonym przez usługę Azure Arc.
Przywracanie do punktu w czasie może przywrócić bazę danych:
- Z istniejącej bazy danych
- W nowej bazie danych w tym samym wystąpieniu zarządzanym SQL włączonym przez usługę Azure Arc
Bazę danych można przywrócić do punktu w czasie w ramach wstępnie skonfigurowanego ustawienia przechowywania. Możesz sprawdzić ustawienie przechowywania dla wystąpienia zarządzanego SQL włączonego przez usługę Azure Arc w następujący sposób:
W przypadku trybu bezpośredniego połączenia:
az sql mi-arc show --name <SQL instance name> --resource-group <resource-group>
#Example
az sql mi-arc show --name sqlmi --resource-group myresourcegroup
W przypadku trybu połączenia pośredniego :
az sql mi-arc show --name <SQL instance name> --k8s-namespace <SQL MI namespace> --use-k8s
#Example
az sql mi-arc show --name sqlmi --k8s-namespace arc --use-k8s
Obecnie przywracanie do punktu w czasie może przywrócić bazę danych:
- Z istniejącej bazy danych na wystąpieniu
- Do nowej bazy danych w tym samym wystąpieniu
Automatyczne kopie zapasowe
Usługa SQL Managed Instance włączona przez usługę Azure Arc ma wbudowaną funkcję automatycznego tworzenia kopii zapasowych. Za każdym razem, gdy tworzysz lub przywracasz nową bazę danych, usługa SQL Managed Instance włączona przez usługę Azure Arc natychmiast inicjuje pełną kopię zapasową i automatycznie planuje różnicowe i transakcyjne kopie zapasowe dziennika. Wystąpienie zarządzane SQL przechowuje te kopie zapasowe w klasie magazynu określonej podczas wdrażania.
Przywracanie do punktu w czasie umożliwia przywrócenie bazy danych do określonego punktu w czasie w okresie przechowywania. Aby przywrócić bazę danych do określonego punktu w czasie, usługi danych z obsługą usługi Azure Arc stosują pliki kopii zapasowych w określonej kolejności. Na przykład:
- Pełna kopia zapasowa
- Różnicowa kopia zapasowa
- Co najmniej jedna kopia zapasowa dziennika transakcji
Obecnie pełne kopie zapasowe są wykonywane raz w tygodniu, różnicowe kopie zapasowe są wykonywane co 12 godzin, a kopie zapasowe dziennika transakcji co 5 minut.
Okres utrzymania
Domyślny okres przechowywania dla nowego wystąpienia zarządzanego SQL włączonego przez usługę Azure Arc wynosi siedem dni i można go dostosować przy użyciu wartości 0 lub 1–35 dni. Okres przechowywania można ustawić podczas wdrażania wystąpienia zarządzanego SQL, określając --retention-days
właściwość . Pliki kopii zapasowej starsze niż skonfigurowany okres przechowywania są automatycznie usuwane.
Tworzenie bazy danych z punktu w czasie przy użyciu polecenia az CLI
az sql midb-arc restore --managed-instance <SQL managed instance> --name <source DB name> --dest-name <Name for new db> --k8s-namespace <namespace of managed instance> --time "YYYY-MM-DDTHH:MM:SSZ" --use-k8s
#Example
az sql midb-arc restore --managed-instance sqlmi1 --name Testdb1 --dest-name mynewdb --k8s-namespace arc --time "2021-10-29T01:42:14.00Z" --use-k8s
Możesz również użyć --dry-run
opcji , aby zweryfikować operację przywracania bez faktycznego przywrócenia bazy danych.
az sql midb-arc restore --managed-instance <SQL managed instance> --name <source DB name> --dest-name <Name for new db> --k8s-namespace <namespace of managed instance> --time "YYYY-MM-DDTHH:MM:SSZ" --use-k8s --dry-run
#Example
az sql midb-arc restore --managed-instance sqlmi1 --name Testdb1 --dest-name mynewdb --k8s-namespace arc --time "2021-10-29T01:42:14.00Z" --use-k8s --dry-run
Tworzenie bazy danych z punktu w czasie przy użyciu narzędzia kubectl
Aby przeprowadzić przywracanie do punktu w czasie za pomocą narzędzi natywnych platformy Kubernetes, możesz użyć polecenia
kubectl
. Utwórz plik yaml specyfikacji zadania. Na przykład:apiVersion: tasks.sql.arcdata.microsoft.com/v1 kind: SqlManagedInstanceRestoreTask metadata: name: myrestoretask20220304 namespace: test spec: source: name: miarc1 database: testdb restorePoint: "2021-10-12T18:35:33Z" destination: name: miarc1 database: testdb-pitr dryRun: false
Edytuj właściwości w następujący sposób:
name:
Unikatowy ciąg dla każdego zasobu niestandardowego (CR). Wymagane przez platformę Kubernetes.namespace:
Przestrzeń nazw kubernetes, w której znajduje się wystąpienie.source: ... name:
Nazwa wystąpienia źródłowego.source: ... database:
Nazwa źródłowej bazy danych, z której będzie stosowane przywracanie.restorePoint:
Punkt w czasie operacji przywracania w formacie UTC datetime.destination: ... name:
Nazwa docelowego wystąpienia zarządzanego SQL z obsługą usługi Arc. Obecnie przywracanie do punktu w czasie jest obsługiwane tylko w wystąpieniu zarządzanym usługi Arc SQL. Powinno to być takie samo jak źródłowe wystąpienie zarządzane SQL.destination: ... database:
Nazwa nowej bazy danych, do której ma zostać zastosowane przywracanie.
Utwórz zadanie uruchamiania przywracania do punktu w czasie. Poniższy przykład inicjuje zadanie zdefiniowane w pliku
myrestoretask20220304.yaml
.kubectl apply -f myrestoretask20220304.yaml
Sprawdź stan zadania przywracania w następujący sposób:
kubectl get sqlmirestoretask -n <namespace>
Stan zadania przywracania będzie aktualizowany co 10 sekund na podstawie postępu przywracania do punktu w czasie. Stan przechodzi z Waiting
do do Restoring
lub Completed
Failed
.
Tworzenie bazy danych z punktu w czasie przy użyciu narzędzia Azure Data Studio
Bazę danych można również przywrócić do punktu w czasie z usługi Azure Data Studio w następujący sposób:
- Uruchamianie narzędzia Azure Data Studio
- Upewnij się, że masz wymagane rozszerzenia Arc zgodnie z opisem w temacie Narzędzia.
- Nawiązywanie połączenia z kontrolerem danych usługi Azure Arc
- Rozwiń węzeł kontrolera danych, kliknij prawym przyciskiem myszy wystąpienie i wybierz polecenie Zarządzaj. Usługa Azure Data Studio uruchamia pulpit nawigacyjny wystąpienia zarządzanego SQL.
- Kliknij kartę Kopie zapasowe na pulpicie nawigacyjnym
- Powinna zostać wyświetlona lista baz danych w wystąpieniu zarządzanym SQL oraz ich najwcześniejszych i najnowszych oknach czasu przywracania oraz ikona inicjowania przywracania
- Kliknij ikonę bazy danych, z której chcesz przywrócić bazę danych. Usługa Azure Data Studio uruchamia blok w kierunku prawej strony
- Podaj wymagane dane wejściowe w bloku i kliknij pozycję Przywróć
Monitorowanie postępu
Po zainicjowaniu przywracania zadanie jest tworzone w klastrze Kubernetes, które wykonuje rzeczywiste operacje przywracania pełnych, różnicowych i kopii zapasowych dziennika. Postęp tego działania można monitorować z poziomu klastra Kubernetes w następujący sposób:
kubectl get sqlmirestoretask -n <namespace>
#Example
kubectl get sqlmirestoretask -n arc
Więcej szczegółów zadania można uzyskać, uruchamiając kubectl describe
polecenie w zadaniu. Na przykład:
kubectl describe sqlmirestoretask <nameoftask> -n <namespace>
Konfigurowanie okresu przechowywania
Okres przechowywania dla wystąpienia zarządzanego SQL włączonego przez usługę Azure Arc można ponownie skonfigurować z oryginalnego ustawienia w następujący sposób:
Ostrzeżenie
Jeśli zmniejszysz bieżący okres przechowywania, utracisz możliwość przywracania do punktów w czasie starszym niż nowy okres przechowywania. Kopie zapasowe, które nie są już potrzebne do zapewnienia przywracania do punktu w czasie dla nowego okresu przechowywania, są usuwane. Jeśli zwiększysz bieżący okres przechowywania, nie uzyskasz od razu możliwości przywrócenia do starszych punktów w czasie w ramach nowego okresu przechowywania. W miarę upływu czasu system zaczyna przechowywać kopie zapasowe na dłużej.
Element --retention-period
można zmienić dla usługi SQL Managed Instance-Azure Arc w następujący sposób. Poniższe polecenie dotyczy zarówno trybów, jak direct
i indirect
połączonych.
az sql mi-arc update --name <SQLMI name> --k8s-namespace <namespace> --use-k8s --retention-days <retentiondays>
Na przykład:
az sql mi-arc update --name sqlmi --k8s-namespace arc --use-k8s --retention-days 10
Wyłączanie automatycznych kopii zapasowych
Wbudowane automatyczne kopie zapasowe dla określonego wystąpienia usługi SQL Managed Instance włączone przez usługę Azure Arc można wyłączyć, ustawiając --retention-days
właściwość na 0 w następujący sposób. Poniższe polecenie dotyczy trybów direct
i .indirect
Ostrzeżenie
Jeśli wyłączysz automatyczne kopie zapasowe dla wystąpienia zarządzanego SQL włączonego przez usługę Azure Arc, wszystkie skonfigurowane automatyczne kopie zapasowe zostaną usunięte i utracisz możliwość wykonywania przywracania do punktu w czasie. W razie potrzeby możesz zmienić właściwość w retention-days
celu ponownego zainicjowania automatycznych kopii zapasowych.
az sql mi-arc update --name <SQLMI name> --k8s-namespace <namespace> --use-k8s --retention-days 0
Na przykład:
az sql mi-arc update --name sqlmi --k8s-namespace arc --use-k8s --retention-days 0
Monitorowanie kopii zapasowych
Kopie zapasowe są przechowywane w /var/opt/mssql/backups/archived/<dbname>/<datetime>
folderze, gdzie <dbname>
jest nazwą bazy danych i <datetime>
będzie sygnaturą czasową w formacie UTC, na początku każdej pełnej kopii zapasowej. Za każdym razem, gdy zostanie zainicjowana pełna kopia zapasowa, zostanie utworzony nowy folder z pełnym powrotem i wszystkimi kolejnymi kopiami zapasowymi dziennika różnicowego i transakcyjnego w tym folderze. Najbardziej aktualna pełna kopia zapasowa, a kolejne różnicowe i transakcyjne kopie zapasowe dziennika są przechowywane w /var/opt/mssql/backups/current/<dbname><datetime>
folderze.
Ograniczenia
Przywracanie do punktu w czasie w usłudze SQL Managed Instance włączone przez usługę Azure Arc ma następujące ograniczenia:
- Przywracanie do punktu w czasie to funkcja na poziomie bazy danych, a nie funkcja na poziomie wystąpienia. Nie można przywrócić całego wystąpienia z przywracaniem do punktu w czasie.
- Możesz przywrócić tylko do tego samego wystąpienia zarządzanego SQL włączonego przez usługę Azure Arc, z którego utworzono kopię zapasową.
Powiązana zawartość
Zacznij od utworzenia kontrolera danych
Tworzenie wystąpienia zarządzanego SQL włączonego przez usługę Azure Arc