Delen via


Online herstel (SQL Server)

Van toepassing op:SQL Server

Online herstellen wordt alleen ondersteund in SQL Server Enterprise Edition. In deze editie wordt een bestand, een pagina of gedeeltelijk hersteld standaard online. Dit onderwerp is relevant voor databases die meerdere bestanden of bestandsgroepen bevatten (en, onder het eenvoudige herstelmodel, alleen voor alleen-lezen bestandsgroepen).

Het herstellen van gegevens terwijl de database online is, wordt een online herstelbewerking genoemd. Een database wordt beschouwd als online wanneer de primaire bestandsgroep online is, zelfs als een of meer secundaire bestandsgroepen offline zijn. Onder elk herstelmodel kunt u een bestand herstellen dat offline is terwijl de database online is. Onder het volledige herstelmodel kunt u ook pagina's herstellen terwijl de database online is.

Opmerking

Online herstellen vindt automatisch plaats op SQL Server Enterprise en vereist geen gebruikersactie. Als u online herstellen niet wilt gebruiken, kunt u een database offline halen voordat u een herstelbewerking start. Zie Een database of bestand offline nemen verderop in dit onderwerp voor meer informatie.

Tijdens het herstellen van een onlinebestand zijn alle bestanden die worden hersteld en de bijbehorende bestandsgroep offline. Als een van deze bestanden online is wanneer een online herstelbewerking wordt gestart, wordt met de eerste herstelinstructie de bestandsgroep van het bestand offline gehaald. Daarentegen is tijdens het herstellen van een onlinepagina alleen de pagina offline.

Elk online herstelscenario omvat de volgende basisstappen:

  1. Herstel de gegevens.

  2. Herstel het logboek met behulp van WITH RECOVERY voor het laatste logboekherstel. Hierdoor worden de herstelde gegevens online geplaatst.

Af en toe kan een niet-doorgevoerde transactie niet worden teruggedraaid omdat de gegevens die nodig zijn voor terugdraaien offline zijn tijdens het opstarten. In dit geval wordt de transactie uitgesteld. Zie Deferred Transactions (SQL Server) voor meer informatie.

Opmerking

Als de database momenteel gebruikmaakt van het bulksgewijs vastgelegde herstelmodel, raden we u aan over te schakelen naar het volledige herstelmodel voordat u een online herstelbewerking start. Zie Het herstelmodel van een database (SQL Server) weergeven of wijzigenvoor meer informatie.

Belangrijk

Als de back-ups zijn gemaakt met meerdere apparaten die aan de server zijn gekoppeld, moet hetzelfde aantal apparaten beschikbaar zijn tijdens een online herstelbewerking.

Waarschuwing

Wanneer u back-ups van momentopnamen gebruikt, kunt u geen onlineherstel uitvoeren. Voor meer informatie over Snapshotback-ups, zie File-Snapshot Back-ups voor databasebestanden in Azure.

Logboekback-ups voor online terugzetten

In een herstelbewerking in de online modus is het herstelpunt het moment waarop de gegevens die worden hersteld voor de laatste keer offline zijn gehaald of alleen-lezen zijn gemaakt. De back-ups van het transactielogboek die tot en met dit herstelpunt leiden, moeten allemaal beschikbaar zijn. Over het algemeen is na dat moment een logboekback-up vereist om het herstelpunt voor het bestand te dekken. De enige uitzondering is tijdens een online herstel van gegevens met een alleen-lezen status uit een gegevensback-up die is gemaakt nadat de gegevens alleen-lezen zijn geworden. In dit geval hoeft u geen logboekback-up te hebben.

Over het algemeen kunt u back-ups van transactielogboeken maken terwijl de database online is, zelfs na het begin van de herstelvolgorde. De timing van de laatste logboekback-up is afhankelijk van de eigenschappen van het bestand dat wordt hersteld:

  • Voor een online bestand met het kenmerk Alleen-lezen kunt u de laatste logboekback-up maken die nodig is voor herstel voor of tijdens de eerste herstelvolgorde. Een alleen-lezen bestandsgroep vereist mogelijk geen logboekback-ups als er een gegevens- of differentiële back-up is gemaakt nadat de bestandsgroep het kenmerk Alleen-lezen heeft gekregen.

    Opmerking

    De voorgaande informatie is ook van toepassing op elk offlinebestand.

  • Er bestaat een speciaal geval voor een lees-/schrijfbestand dat online was toen de eerste herstelinstructie werd uitgegeven en die vervolgens automatisch offline werd gehaald door die herstelinstructie. In dit geval moet u een logboekback-up maken tijdens de eerste herstelvolgorde (de volgorde van een of meer RESTORE-instructies die gegevens herstellen, uitrollen en herstellen). Over het algemeen moet deze logboekback-up plaatsvinden nadat u alle volledige back-ups hebt hersteld en voordat u de gegevens herstelt. Als er echter meerdere bestandsback-ups voor een specifieke bestandsgroep zijn, is het minimale moment van logboekback-up de tijd nadat de bestandsgroep offline is. Deze logboekback-up na gegevensherstel legt het punt vast waarop het bestand offline is gehaald. De logboekback-up na gegevensherstel is nodig omdat de SQL Server Database Engine geen onlinelogboek kan gebruiken voor een online herstel.

    Opmerking

    U kunt het bestand ook handmatig offline halen voordat de herstelvolgorde wordt uitgevoerd. Zie 'Een database of bestand offline nemen' verderop in dit onderwerp voor meer informatie.

Een database of bestand offline halen

Als u online herstellen niet wilt gebruiken, kunt u de database offline halen voordat u de herstelvolgorde start met behulp van een van de volgende methoden:

  • Onder elk herstelmodel kunt u de database offline halen met behulp van de volgende ALTER DATABASE-instructie :

    WIJZIG DATABASE database_name OFFLINE INSTELLEN

  • U kunt ook onder het volledige herstelmodel afdwingen dat een bestand of pagina offline wordt hersteld met behulp van de volgende BACKUP LOG-instructie om de database in de herstelstatus te plaatsen:

    BACK-UP LOG database_naam MET OPTIE NORECOVERY.

Zolang een database offline blijft, zijn alle herstelbewerkingen offline.

Voorbeelden

Opmerking

De syntaxis voor een onlineherstelvolgorde is hetzelfde als voor een offline herstelvolgorde.

Gerelateerde taken

Zie ook

Bestandsherstelacties (Volledig Herstelmodel)
Bestandsherstel (eenvoudig herstelmodel)
Pagina's herstellen (SQL Server)
Piecemeal Restores (SQL Server)
Overzicht van herstel en herstel van gegevens (SQL Server)