SQL Server-databases herstellen in Azure-VM's

In dit artikel wordt beschreven hoe u een SQL Server-database herstelt die wordt uitgevoerd op een virtuele Azure-machine (VM) waarvan de Azure Backup-service een back-up heeft gemaakt naar een Azure Backup Recovery Services-kluis.

In dit artikel wordt beschreven hoe u SQL Server-databases herstelt. Zie Back-ups maken van SQL Server-databases op Virtuele Azure-machines voor meer informatie.

Notitie

Zie de ondersteuningsmatrix voor SQL-back-ups voor meer informatie over de ondersteunde configuraties en scenario's.

Herstellen naar een tijd of een herstelpunt

Azure Backup kan als volgt SQL Server-databases herstellen die worden uitgevoerd op Virtuele Azure-machines:

  • Herstel naar een specifieke datum of tijd (naar de tweede) met behulp van back-ups van transactielogboeken. Azure Backup bepaalt automatisch de juiste volledige differentiële back-up en de keten van logboekback-ups die moeten worden hersteld op basis van de geselecteerde tijd.
  • Herstel een specifieke volledige of differentiële back-up om te herstellen naar een specifiek herstelpunt.

Vereisten voor herstellen

Voordat u een database herstelt, moet u rekening houden met het volgende:

  • U kunt de database herstellen naar een exemplaar van SQL Server in dezelfde Azure-regio.
  • De doelserver moet zijn geregistreerd bij dezelfde kluis als de bron. Als u back-ups naar een andere kluis wilt herstellen, schakelt u Herstel tussen abonnementen in.
  • Als er meerdere exemplaren op een server worden uitgevoerd, moeten alle exemplaren actief zijn. Anders wordt de server niet weergegeven in de lijst met doelservers waarop u de database wilt herstellen. Raadpleeg de stappen voor probleemoplossing voor meer informatie.
  • Als u een met TDE versleutelde database wilt herstellen naar een andere SQL Server, moet u eerst het certificaat herstellen naar de doelserver.
  • Databases waarvoor CDC is ingeschakeld, moeten worden hersteld met de optie Herstellen als bestanden .
  • Het is raadzaam om de hoofddatabase te herstellen met behulp van de optie Herstellen als bestanden en vervolgens te herstellen met behulp van T-SQL-opdrachten.
  • Voor alle systeemdatabases (model, msdb) stopt u de SQL Server Agent-service voordat u de herstelbewerking activeert.
  • Sluit alle toepassingen die een verbinding met een van deze databases kunnen maken.

Een database herstellen

Als u wilt herstellen, hebt u de volgende machtigingen nodig:

  • Back-upoperatormachtigingen in de kluis waar u de herstelbewerking uitvoert.
  • Inzendertoegang (schrijven) tot de bron-VM waarvan een back-up is gemaakt.
  • Inzendertoegang (schrijven) tot de doel-VM:
    • Als u naar dezelfde VM herstelt, is dit de bron-VM.
    • Als u herstelt naar een alternatieve locatie, is dit de nieuwe doel-VM.

Herstel als volgt:

  1. Ga in Azure Portal naar het back-upcentrum en klik op Herstellen.

    Screenshot showing the start the restore process.

  2. Selecteer SQL in Azure VM als het gegevensbrontype, selecteer een database die u wilt herstellen en klik op Doorgaan.

    Screenshot showing to select the datasource type.

  3. Geef in De configuratie herstellen op waar (of hoe) de gegevens moeten worden hersteld:

    • Alternatieve locatie: herstel de database naar een alternatieve locatie en behoud de oorspronkelijke brondatabase.

    • Db overschrijven: herstel de gegevens naar hetzelfde SQL Server-exemplaar als de oorspronkelijke bron. Met deze optie wordt de oorspronkelijke database overschreven.

      Belangrijk

      Als de geselecteerde database deel uitmaakt van een AlwaysOn-beschikbaarheidsgroep, staat SQL Server niet toe dat de database wordt overschreven. Alleen alternatieve locatie is beschikbaar.

    • Herstellen als bestanden: In plaats van als een database te herstellen, herstelt u de back-upbestanden die later als een database kunnen worden hersteld op elke computer waarop de bestanden aanwezig zijn met behulp van SQL Server Management Studio.

Herstellen naar een alternatieve locatie

  1. Selecteer alternatieve locatie in het menu Configuratie herstellen onder Waar te herstellen.

  2. Selecteer de SQL Server-naam en het exemplaar waarnaar u de database wilt herstellen.

  3. Geef in het vak Herstelde databasenaam de naam van de doeldatabase op.

  4. Indien van toepassing selecteert u Overschrijven als de database met dezelfde naam al bestaat op het geselecteerde SQL-exemplaar.

  5. Selecteer Herstelpunt en selecteer of u wilt herstellen naar een bepaald tijdstip of om naar een specifiek herstelpunt te herstellen.

    Screenshot showing to select Restore Point.

    Screenshot showing restore to point in time.

  6. Ga als volgt te werk in het menu Geavanceerde configuratie:

    • Als u de database niet-geoerationeel wilt houden na het herstellen, schakelt u Herstellen in met NORECOVERY.

    • Als u de herstellocatie op de doelserver wilt wijzigen, voert u nieuwe doelpaden in.

      Enter target paths

  7. Selecteer OK om de herstelbewerking te activeren. Volg de voortgang van de herstelbewerking in het gebied Meldingen of volg deze onder de weergave Back-uptaken in de kluis.

    Notitie

    Het herstel naar een bepaald tijdstip is alleen beschikbaar voor logboekback-ups voor databases die zich volledig en bulksgewijs in de herstelmodus bevinden.

Herstellen en overschrijven

  1. Selecteer in het menu Configuratie herstellen onder Waar te herstellen de optie DB>overschrijven OK.

    Select Overwrite DB

  2. Selecteer in Herstelpunt selecteren logboeken (tijdstip) om naar een bepaald tijdstip te herstellen. Of selecteer Volledig en differentieel om te herstellen naar een specifiek herstelpunt.

    Notitie

    Het herstel naar een bepaald tijdstip is alleen beschikbaar voor logboekback-ups voor databases die zich volledig en bulksgewijs in de herstelmodus bevinden.

Herstellen als bestanden

Als u de back-upgegevens wilt herstellen als .bak bestanden in plaats van een database, kiest u Herstellen als bestanden. Zodra de bestanden zijn gedumpt naar een opgegeven pad, kunt u deze bestanden naar elke computer waar u ze als database wilt herstellen. Omdat u deze bestanden naar elke computer kunt verplaatsen, kunt u de gegevens nu herstellen tussen abonnementen en regio's.

  1. Selecteer Onder Waar en hoe u herstellen kunt herstellen de optie Herstellen als bestanden.

  2. Selecteer de SQL Server-naam waarnaar u de back-upbestanden wilt herstellen.

  3. Voer in het doelpad op de server het mappad in op de server die in stap 2 is geselecteerd. Dit is de locatie waar de service alle benodigde back-upbestanden dumpt. Normaal gesproken maakt een netwerksharepad of pad van een gekoppelde Azure-bestandsshare indien opgegeven als doelpad toegang tot deze bestanden door andere computers in hetzelfde netwerk of met dezelfde Azure-bestandsshare die eraan is gekoppeld eenvoudiger.

    Notitie

    Als u de back-upbestanden van de database wilt herstellen op een Azure-bestandsshare die is gekoppeld aan de geregistreerde doel-VM, moet u ervoor zorgen dat NT AUTHORITY\SYSTEM toegang heeft tot de bestandsshare. U kunt de onderstaande stappen uitvoeren om de lees-/schrijfmachtigingen toe te kennen aan de AFS die is gekoppeld op de virtuele machine:

    • Uitvoeren PsExec -s cmd om in te voeren in de NT AUTHORITY\SYSTEM-shell
      • Voer cmdkey /add:<storageacct>.file.core.windows.net /user:AZURE\<storageacct> /pass:<storagekey> uit
      • Toegang controleren met dir \\<storageacct>.file.core.windows.net\<filesharename>
    • Een herstel starten als bestanden van de Backup Vault naar \\<storageacct>.file.core.windows.net\<filesharename> als het pad
      U kunt PsExec downloaden vanaf de pagina Sysinternals .
  4. Selecteer OK.

    Select Restore As Files

  5. Selecteer Herstelpunt en selecteer of u wilt herstellen naar een bepaald tijdstip of om naar een specifiek herstelpunt te herstellen.

  6. Wanneer u herstel naar een bepaald tijdstip van sql-database uitvoert met behulp van Herstellen als bestanden, worden alle herstelpunten van de volledige back-up opgeslagen naar het geselecteerde tijdstip. Vervolgens kunt u deze bestanden herstellen als een database op elke computer die ze presenteren met behulp van SQL Server Management Studio.

    Restored Backup Files in Destination Path

Herstellen naar een bepaald punt in de tijd

Als u Logboeken (tijdstip) als hersteltype hebt geselecteerd, gaat u als volgt te werk:

  1. Open de agenda onder Datum/tijd herstellen. In de agenda worden de datums met herstelpunten vet weergegeven en is de huidige datum gemarkeerd.

  2. Selecteer een datum met herstelpunten. U kunt geen datums selecteren die geen herstelpunten hebben.

    Open the calendar

  3. Als u een datum hebt geselecteerd, worden de beschikbare herstelpunten in chronologische volgorde weergegeven in de tijdlijngrafiek.

  4. Geef een tijd op voor het herstel in de tijdlijngrafiek of selecteer een tijd. Selecteer vervolgens OK.

Gedeeltelijk herstellen als bestanden

De Azure Backup-service bepaalt de keten van bestanden die moeten worden gedownload tijdens het herstellen als bestanden. Maar er zijn scenario's waarin u de volledige inhoud mogelijk niet opnieuw wilt downloaden.

Als u bijvoorbeeld een back-upbeleid hebt van wekelijkse fulls, dagelijkse differentiëlen en logboeken en u al bestanden hebt gedownload voor een bepaald differentieel. U hebt vastgesteld dat dit niet het juiste herstelpunt is en besloot om het verschil van de volgende dag te downloaden. Nu hebt u alleen het differentiële bestand nodig omdat u al het begin vol hebt. Met de gedeeltelijke herstelfunctie als bestandsmogelijkheid, geleverd door Azure Backup, kunt u nu het volledige uit de downloadketen uitsluiten en alleen het differentieel downloaden.

Back-upbestandstypen uitsluiten

De extensie InstellingenOverrides.json is een JSON-bestand (JavaScript Object Notation) dat onderdrukkingen bevat voor meerdere instellingen van de Azure Backup-service voor SQL. Voor de bewerking Gedeeltelijk herstellen als bestanden moet een nieuw JSON-veld RecoveryPointTypesToBeExcludedForRestoreAsFiles worden toegevoegd. Dit veld bevat een tekenreekswaarde die aangeeft welke typen herstelpunten moeten worden uitgesloten in de volgende herstelbewerking als bestandsbewerking.

  1. Ga op de doelcomputer waar bestanden moeten worden gedownload naar de map C:\Program Files\Azure Workload Backup\bin

  2. Maak een nieuw JSON-bestand met de naam Extensie InstellingenOverrides.JSON als dit nog niet bestaat.

  3. Voeg het volgende JSON-sleutelwaardepaar toe

    {
    "RecoveryPointTypesToBeExcludedForRestoreAsFiles": "ExcludeFull"
    }
    
  4. Er is geen herstart van een service vereist. De Azure Backup-service probeert back-uptypen uit te sluiten in de herstelketen, zoals vermeld in dit bestand.

De RecoveryPointTypesToBeExcludedForRestoreAsFiles enige waarden die de herstelpunten aanduken die tijdens het herstellen moeten worden uitgesloten. Voor SQL zijn deze waarden:

  • ExcludeFull (andere back-uptypen, zoals differentiële en logboeken, worden gedownload als deze aanwezig zijn in de herstelpuntketen)
  • ExcludeFullAndDifferential (andere back-uptypen zoals logboeken worden gedownload, als ze aanwezig zijn in de keten van het herstelpunt)
  • ExcludeFullAndIncremental (andere back-uptypen zoals logboeken worden gedownload, als deze aanwezig zijn in de herstelpuntketen)
  • ExcludeFullAndDifferentialAndIncremental (andere back-uptypen, zoals logboeken, worden gedownload als ze aanwezig zijn in de herstelpuntketen)

Herstellen naar een specifiek herstelpunt

Ga als volgt te werk als u Volledig & Differentieel als hersteltype hebt geselecteerd:

  1. Selecteer een herstelpunt in de lijst en selecteer OK om de procedure voor het herstelpunt te voltooien.

    Choose a full recovery point

    Notitie

    Standaard worden herstelpunten uit de afgelopen 30 dagen weergegeven. U kunt herstelpunten weergeven die ouder zijn dan 30 dagen door Filter te selecteren en een aangepast bereik te selecteren.

Databases met een groot aantal bestanden herstellen

Als de totale tekenreeksgrootte van bestanden in een database groter is dan een bepaalde limiet, slaat Azure Backup de lijst met databasebestanden op in een ander pitonderdeel, zodat u het doelherstelpad niet kunt instellen tijdens de herstelbewerking. De bestanden worden in plaats daarvan teruggezet naar het standaardpad van SQL.

Restore Database with large file

Een database herstellen uit .bak bestand met behulp van SSMS

U kunt De bewerking Herstellen als bestanden gebruiken om de databasebestanden in .bak de indeling te herstellen tijdens het herstellen vanuit De Azure-portal. Meer informatie.

Wanneer het herstellen van het .bak bestand naar de virtuele Azure-machine is voltooid, kunt u herstellen activeren met behulp van TSQL-opdrachten via SSMS.   Als u de databasebestanden wilt herstellen naar het oorspronkelijke pad op de bronserver, verwijdert u de MOVE component uit de TSQL-herstelquery.   Voorbeeld

  USE [master] 
  RESTORE DATABASE [<DBName>] FROM  DISK = N'<.bak file path>'

Notitie

U moet niet dezelfde databasebestanden op de doelserver hebben (herstellen door vervanging).  U kunt ook direct initialiseren van bestanden op de doelserver inschakelen om de overhead voor de initialisatie van bestanden te verminderen.

Als u de databasebestanden van de doelherstelserver wilt verplaatsen, kunt u een TSQL-opdracht in een frame plaatsen met behulp van de MOVE componenten.

  USE [master] 
  RESTORE DATABASE [<DBName>] FROM  DISK = N'<.bak file path>'  MOVE N'<LogicalName1>' TO N'<TargetFilePath1OnDisk>',  MOVE N'<LogicalName2>' TO N'<TargetFilePath2OnDisk>' GO

Voorbeeld

  USE [master] 
  RESTORE DATABASE [test] FROM  DISK = N'J:\dbBackupFiles\test.bak' WITH  FILE = 1,  MOVE N'test' TO N'F:\data\test.mdf',  MOVE N'test_log' TO N'G:\log\test_log.ldf',  NOUNLOAD,  STATS = 5 
  GO

Als er meer dan twee bestanden voor de database zijn, kunt u extra MOVE componenten toevoegen aan de herstelquery. U kunt SSMS ook gebruiken voor databaseherstel met behulp van .bak bestanden. Meer informatie.

Notitie

Voor herstel van grote databases raden we u aan TSQL-instructies te gebruiken. Als u de specifieke databasebestanden wilt verplaatsen, raadpleegt u de lijst met databasebestanden in de JSON-indeling die tijdens de bewerking Herstellen als bestanden is gemaakt.

Herstel tussen regio's

Als een van de herstelopties kunt u met CRR (Cross Region Restore) SQL-databases herstellen die worden gehost op Azure-VM's in een secundaire regio, een gekoppelde Azure-regio.

Als u de onboarding naar de functie wilt uitvoeren, leest u de sectie Voordat u begint.

Als u wilt zien of CRR is ingeschakeld, volgt u de instructies in Herstellen tussen regio's configureren

Back-upitems in secundaire regio weergeven

Als CRR is ingeschakeld, kunt u de back-upitems in de secundaire regio bekijken.

  1. Ga vanuit de portal naar Back-upitems van Recovery Services-kluis>.
  2. Selecteer Secundaire regio om de items in de secundaire regio weer te geven.

Notitie

Alleen back-upbeheertypen die de CRR-functie ondersteunen, worden weergegeven in de lijst. Momenteel is alleen ondersteuning voor het herstellen van gegevens van secundaire regio's naar een secundaire regio toegestaan.

Backup items in secondary region

Databases in secondary region

Herstellen in secundaire regio

De gebruikerservaring voor herstel van secundaire regio's is vergelijkbaar met de gebruikerservaring voor het herstellen van de primaire regio. Wanneer u details configureert in het deelvenster Configuratie herstellen om uw herstel te configureren, wordt u gevraagd om alleen parameters voor secundaire regio's op te geven. Er moet een kluis aanwezig zijn in de secundaire regio en de SQL-server moet worden geregistreerd bij de kluis in de secundaire regio.

Where and how to restore

Trigger restore in progress notification

Notitie

  • Nadat de herstelbewerking is geactiveerd en in de fase voor gegevensoverdracht, kan de hersteltaak niet worden geannuleerd.
  • Het rol-/toegangsniveau dat is vereist voor het uitvoeren van herstelbewerkingen in meerdere regio's, zijn de rol Back-upoperator in het abonnement en inzender(schrijf) -toegang op de virtuele bron- en doelmachines. Als u back-uptaken wilt weergeven, is de back-uplezer de minimale machtiging die is vereist in het abonnement.
  • De RPO voor de back-upgegevens die beschikbaar zijn in de secundaire regio is 12 uur. Wanneer u CRR inschakelt, is de RPO voor de secundaire regio daarom 12 uur + duur van de logboekfrequentie (die kan worden ingesteld op minimaal 15 minuten).

Meer informatie over de minimale rolvereisten voor herstel tussen regio's.

Hersteltaken voor secundaire regio's bewaken

  1. Ga in Azure Portal naar Back-upcentrumback-uptaken>.

  2. Filterbewerking voor CrossRegionRestore om de taken in de secundaire regio weer te geven.

    Screenshot showing the filtered Backup jobs.

Herstellen tussen abonnementen

Met Azure Backup kunt u nu EEN SQL-database herstellen naar elk abonnement (volgens de volgende Azure RBAC-vereisten) vanaf het herstelpunt. Azure Backup herstelt standaard naar hetzelfde abonnement waar de herstelpunten beschikbaar zijn.

Met CSR (Cross Subscription Restore) hebt u de flexibiliteit om te herstellen naar elk abonnement en elke kluis onder uw tenant als er herstelmachtigingen beschikbaar zijn. CSR is standaard ingeschakeld voor alle Recovery Services-kluizen (bestaande en nieuw gemaakte kluizen).

Notitie

  • U kunt herstel tussen abonnementen activeren vanuit de Recovery Services-kluis.
  • CSR wordt alleen ondersteund voor back-ups op basis van streaming en wordt niet ondersteund voor back-ups op basis van momentopnamen.
  • CRR (Cross Regional Restore) met CSR wordt niet ondersteund.

Vereisten voor Azure RBAC

Het type bewerking Back-upoperator Recovery Services-kluis Alternatieve operator
Database herstellen of herstellen als bestanden Virtual Machine Contributor Bron-VM waarvan een back-up is gemaakt In plaats van een ingebouwde rol kunt u een aangepaste rol overwegen die de volgende machtigingen heeft:

- Microsoft.Compute/virtualMachines/write
- Microsoft.Compute/virtualMachines/read
Virtual Machine Contributor Doel-VM waarin de database wordt hersteld of bestanden worden gemaakt. In plaats van een ingebouwde rol kunt u een aangepaste rol met de volgende machtigingen overwegen:

- Microsoft.Compute/virtualMachines/write
- Microsoft.Compute/virtualMachines/read
Backup Operator Recovery Services-doelkluis

CSR is standaard ingeschakeld in de Recovery Services-kluis. Als u de herstelinstellingen van de Recovery Services-kluis wilt bijwerken, gaat u naar Eigenschappen>voor herstel tussen abonnementen en voert u de vereiste wijzigingen aan.

Screenshot shows how to modify the Cross Subscription Restore settings on a Recovery Services vault for SQL database.

Volgende stappen

Sql Server-databases beheren en bewaken waarvan een back-up wordt gemaakt door Azure Backup.