Een herstel naar een bepaald tijdstip uitvoeren
Gebruik het herstel naar een bepaald tijdstip (PITR) om een database te maken als een kopie van een andere database uit het verleden die binnen de bewaarperiode valt. In dit artikel wordt beschreven hoe u een herstel naar een bepaald tijdstip uitvoert van een database in SQL Managed Instance waarvoor Azure Arc is ingeschakeld.
Herstel naar een bepaald tijdstip kan een database herstellen:
- Vanuit een bestaande database
- Naar een nieuwe database in hetzelfde met SQL Managed Instance ingeschakeld door Azure Arc
U kunt een database herstellen naar een bepaald tijdstip binnen een vooraf geconfigureerde bewaarinstelling. U kunt als volgt de bewaarinstelling controleren voor een met SQL beheerd exemplaar dat door Azure Arc is ingeschakeld:
Voor de modus Direct verbonden:
az sql mi-arc show --name <SQL instance name> --resource-group <resource-group>
#Example
az sql mi-arc show --name sqlmi --resource-group myresourcegroup
Voor indirecte verbonden modus:
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
Herstel naar een bepaald tijdstip kan momenteel een database herstellen:
- Vanuit een bestaande database op een exemplaar
- Naar een nieuwe database op hetzelfde exemplaar
Automatische back-ups
Sql Managed Instance ingeschakeld door Azure Arc heeft ingebouwde functie voor automatische back-ups ingeschakeld. Wanneer u een nieuwe database maakt of herstelt, start SQL Managed Instance die is ingeschakeld door Azure Arc onmiddellijk een volledige back-up en plant u automatisch differentiële back-ups en transactielogboekback-ups. Met SQL beheerd exemplaar worden deze back-ups opgeslagen in de opslagklasse die tijdens de implementatie is opgegeven.
Met herstel naar een bepaald tijdstip kan een database binnen de bewaarperiode worden hersteld naar een bepaald tijdstip. Als u een database wilt herstellen naar een specifiek tijdstip, worden met Azure Arc ingeschakelde gegevensservices de back-upbestanden in een specifieke volgorde toegepast. Voorbeeld:
- Volledige back-up
- Differentiële back-up
- Een of meer back-ups van transactielogboeken
Op dit moment worden volledige back-ups eenmaal per week gemaakt, worden er om de 12 uur differentiële back-ups gemaakt en elke 5 minuten back-ups van transactielogboeken gemaakt.
Retentieperiode
De standaardretentieperiode voor een nieuw met SQL beheerd exemplaar dat door Azure Arc is ingeschakeld, is zeven dagen en kan worden aangepast met waarden van 0 of 1-35 dagen. De bewaarperiode kan worden ingesteld tijdens de implementatie van het met SQL beheerde exemplaar door de --retention-days
eigenschap op te geven. Back-upbestanden die ouder zijn dan de geconfigureerde bewaarperiode, worden automatisch verwijderd.
Een database maken op basis van een bepaald tijdstip met behulp van 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
U kunt ook de --dry-run
optie gebruiken om uw herstelbewerking te valideren zonder de database daadwerkelijk te herstellen.
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
Een database maken op basis van een bepaald tijdstip met behulp van kubectl
Als u een herstel naar een bepaald tijdstip wilt uitvoeren met systeemeigen Kubernetes-hulpprogramma's, kunt u dit gebruiken
kubectl
. Maak een yaml-bestand met taakspecificaties. Voorbeeld: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
Bewerk de eigenschappen als volgt:
name:
Unieke tekenreeks voor elke aangepaste resource (CR). Vereist door Kubernetes.namespace:
Kubernetes-naamruimte waarin het exemplaar zich bevindt.source: ... name:
Naam van het bronexemplaren.source: ... database:
De naam van de brondatabase waaruit de herstelbewerking zou worden toegepast.restorePoint:
Tijdstip voor de herstelbewerking in UTC-datum/tijd.destination: ... name:
Naam van het beheerde SQL-doelexemplaren met Arc. Herstel naar een bepaald tijdstip wordt momenteel alleen ondersteund in het beheerde Exemplaar van Arc SQL. Dit moet hetzelfde zijn als het beheerde bronexemplaren van SQL.destination: ... database:
De naam van de nieuwe database waarop het herstel zou worden toegepast.
Maak een taak om het herstel naar een bepaald tijdstip te starten. In het volgende voorbeeld wordt de taak gestart die is gedefinieerd in
myrestoretask20220304.yaml
.kubectl apply -f myrestoretask20220304.yaml
Controleer de status van de hersteltaak als volgt:
kubectl get sqlmirestoretask -n <namespace>
De taakstatus herstellen wordt ongeveer elke 10 seconden bijgewerkt op basis van de voortgang van de pitr. De status wordt van Waiting
naar Restoring
of Completed
Failed
.
Een database maken vanuit een bepaald tijdstip met behulp van Azure Data Studio
U kunt een database ook als volgt herstellen naar een bepaald tijdstip vanuit Azure Data Studio:
- Azure Data Studio starten
- Zorg ervoor dat u over de vereiste Arc-extensies beschikt, zoals beschreven in Hulpprogramma's.
- Verbinding maken met de Azure Arc-gegevenscontroller
- Vouw het knooppunt van de gegevenscontroller uit, klik met de rechtermuisknop op het exemplaar en selecteer Beheren. Azure Data Studio start het dashboard van het beheerde SQL-exemplaar.
- Klik op het tabblad Back-ups in het dashboard
- Als het goed is, ziet u een lijst met databases in het beheerde SQL-exemplaar en de eerste en meest recente hersteltijdvensters, en een pictogram voor het initiëren van de herstelbewerking
- Klik op het pictogram voor de database waaruit u wilt herstellen. Azure Data Studio start een blade aan de rechterkant
- Geef de vereiste invoer op de blade op en klik op Herstellen
Voortgang bijhouden
Wanneer een herstelbewerking wordt gestart, wordt een taak gemaakt in het Kubernetes-cluster waarmee de werkelijke herstelbewerkingen van volledige, differentiële en logboekback-ups worden uitgevoerd. De voortgang van deze activiteit kan als volgt worden bewaakt vanuit uw Kubernetes-cluster:
kubectl get sqlmirestoretask -n <namespace>
#Example
kubectl get sqlmirestoretask -n arc
U kunt meer details van de taak krijgen door deze uit te voeren kubectl describe
op de taak. Voorbeeld:
kubectl describe sqlmirestoretask <nameoftask> -n <namespace>
Bewaarperiode configureren
De bewaarperiode voor een SQL Managed Instance die is ingeschakeld door Azure Arc, kan als volgt opnieuw worden geconfigureerd vanuit de oorspronkelijke instelling:
Waarschuwing
Als u de huidige bewaarperiode vermindert, verliest u de mogelijkheid om te herstellen naar punten die ouder zijn dan de nieuwe bewaarperiode. Back-ups die niet meer nodig zijn om PITR te bieden binnen de nieuwe bewaarperiode, worden verwijderd. Als u de huidige bewaarperiode verhoogt, krijgt u niet onmiddellijk de mogelijkheid om te herstellen naar oudere tijdstippen binnen de nieuwe bewaarperiode. U krijgt dat vermogen in de loop van de tijd, omdat het systeem back-ups langer begint te bewaren.
De --retention-period
kan als volgt worden gewijzigd voor een SQL Managed Instance-Azure Arc. De onderstaande opdracht is van toepassing op zowel als direct
indirect
verbonden modi.
az sql mi-arc update --name <SQLMI name> --k8s-namespace <namespace> --use-k8s --retention-days <retentiondays>
Voorbeeld:
az sql mi-arc update --name sqlmi --k8s-namespace arc --use-k8s --retention-days 10
Automatische back-ups uitschakelen
U kunt de ingebouwde automatische back-ups uitschakelen voor een specifiek exemplaar van SQL Managed Instance dat is ingeschakeld door Azure Arc door de --retention-days
eigenschap als volgt in te stellen op 0. De onderstaande opdracht is van toepassing op zowel als direct
indirect
modi.
Waarschuwing
Als u automatische back-ups uitschakelt voor een met SQL beheerd exemplaar dat is ingeschakeld door Azure Arc, worden alle geconfigureerde automatische back-ups verwijderd en verliest u de mogelijkheid om een herstel naar een bepaald tijdstip uit te voeren. U kunt de retention-days
eigenschap zo nodig wijzigen om automatische back-ups opnieuw te starten.
az sql mi-arc update --name <SQLMI name> --k8s-namespace <namespace> --use-k8s --retention-days 0
Voorbeeld:
az sql mi-arc update --name sqlmi --k8s-namespace arc --use-k8s --retention-days 0
Back-ups bewaken
De back-ups worden opgeslagen onder /var/opt/mssql/backups/archived/<dbname>/<datetime>
de map, waarbij <dbname>
de naam van de database is en <datetime>
een tijdstempel in UTC-indeling is voor het begin van elke volledige back-up. Telkens wanneer een volledige back-up wordt gestart, wordt er een nieuwe map gemaakt met de volledige back-up en alle volgende differentiële en transactielogboekback-ups in die map. De meest recente volledige back-up en de daaropvolgende differentiële en transactielogboekback-ups worden opgeslagen in /var/opt/mssql/backups/current/<dbname><datetime>
de map.
Beperkingen
Herstel naar een bepaald tijdstip voor SQL Managed Instance waarvoor Azure Arc is ingeschakeld, heeft de volgende beperkingen:
- Herstel naar een bepaald tijdstip is functie op databaseniveau, niet een functie op exemplaarniveau. U kunt het hele exemplaar niet herstellen met herstel naar een bepaald tijdstip.
- U kunt alleen herstellen naar hetzelfde met SQL Managed Instance dat is ingeschakeld door Azure Arc vanaf de locatie waar de back-up is gemaakt.
Gerelateerde inhoud
Meer informatie over functies en mogelijkheden van SQL Managed Instance ingeschakeld door Azure Arc
Begin door een gegevenscontroller aan te maken
Een met SQL beheerd exemplaar maken dat is ingeschakeld door Azure Arc