Voorbeeld: Herstel van stukjes van slechts enkele bestandsgroepen (volledig herstelmodel)

Van toepassing op:SQL Server

Dit onderwerp is relevant voor SQL Server-databases onder het volledige herstelmodel dat meerdere bestanden of bestandsgroepen bevat.

Een piecemeal herstelreeks herstelt en recupereert een database stapsgewijs op het niveau van de bestandsgroep, beginnend met de primaire en alle lees- en schrijfbare secundaire bestandsgroepen.

In dit voorbeeld bevat een database met de naam adb, die gebruikmaakt van het volledige herstelmodel, drie bestandsgroepen. De bestandsgroep A is lees/schrijf en de bestandsgroep B en de bestandsgroep C zijn alleen lezen. In eerste instantie zijn alle bestandsgroepen online.

De primaire en bestandsgroep B van de database adb lijken beschadigd te zijn. De primaire bestandsgroep is vrij klein en kan snel worden hersteld. De databasebeheerder besluit deze te herstellen met behulp van een stapsgewijze herstellingsvolgorde. Eerst worden de primaire bestandsgroep en de volgende transactielogboeken hersteld, en vervolgens wordt de database hersteld.

De intacte bestandsgroepen A en C bevatten kritieke gegevens. Daarom worden ze hersteld, om ze vervolgens zo snel mogelijk online te brengen. Ten slotte wordt de beschadigde secundaire bestandsgroep, B, hersteld en teruggezet.

Reeksen herstellen:

Opmerking

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

  1. Maak een back-up van een eindlog van de database adb. Deze stap is essentieel om de intacte bestandsgroepen A en C actueel te maken met het herstelpunt van de database.

    BACKUP LOG adb TO tailLogBackup WITH NORECOVERY  
    
  2. Gedeeltelijke herstelbewerking van de primaire bestandsgroep.

    RESTORE DATABASE adb FILEGROUP='Primary' FROM backup   
    WITH PARTIAL, NORECOVERY  
    RESTORE LOG adb FROM log_backup1 WITH NORECOVERY  
    RESTORE LOG adb FROM log_backup2 WITH NORECOVERY  
    RESTORE LOG adb FROM log_backup3 WITH NORECOVERY  
    RESTORE LOG adb FROM tailLogBackup WITH RECOVERY  
    

    Op dit moment is de primaire online. Bestanden in bestandsgroepen A, B en C hebben herstel in behandeling en de bestandsgroepen zijn offline.

  3. Online herstellen van bestandsgroepen A en C.

    Omdat hun gegevens onbeschadigd zijn, hoeven deze bestandsgroepen niet te worden hersteld vanuit een back-up, maar ze moeten wel worden hersteld om ze online te brengen.

    De databasebeheerder herstelt A en C onmiddellijk.

    RESTORE DATABASE adb FILEGROUP='A', FILEGROUP='C' WITH RECOVERY  
    

    Op dit moment zijn de primaire en bestandsgroepen A en C online. Bestanden in de bestandsgroep B blijven in de status 'herstel in afwachting', terwijl de bestandsgroep offline is.

  4. Online herstellen van bestandsgroep B.

Bestanden in de bestandsgroep B worden daarna op elk gewenst moment hersteld.

Opmerking

De back-up van de bestandsgroep B is gemaakt nadat de bestandsgroep het kenmerk Alleen-lezen heeft gekregen. Daarom hoeven deze bestanden niet naar voren te worden gerold.

RESTORE DATABASE adb FILEGROUP='B' FROM backup WITH RECOVERY  

Alle bestandsgroepen zijn nu online.

Aanvullende voorbeelden

Zie ook

BACKUP (Transact-SQL)
Online Restore (SQL Server)
Back-ups van transactielogboeken (SQL Server) toepassen
RESTORE (Transact-SQL)
Piecemeal Restores (SQL Server)