Delen via


Bestanden en bestandsgroepen herstellen (SQL Server)

van toepassing op:SQL Server-

In dit onderwerp wordt beschreven hoe u bestanden en bestandsgroepen in SQL Server herstelt met behulp van SQL Server Management Studio of Transact-SQL.

in dit onderwerp

Voordat u begint

Beperkingen en beperkingen

  • De systeembeheerder die de bestanden en bestandsgroepen herstelt, moet de enige persoon zijn die momenteel de database gebruikt om te worden hersteld.

  • RESTORE is niet toegestaan in een expliciete of impliciete transactie.

  • Onder het eenvoudige herstelmodel moet het bestand deel uitmaken van een alleen-lezen bestandsgroep.

  • Onder het volledige of bulksgewijs vastgelegde herstelmodel, voordat u bestanden kunt herstellen, moet u een back-up maken van het actieve transactielogboek (ook wel de staart van het logboek genoemd). Zie Back-up maken van een transactielogboek (SQL Server)voor meer informatie.

  • Als u een database wilt herstellen die is versleuteld, moet u toegang hebben tot het certificaat of de asymmetrische sleutel die is gebruikt om de database te versleutelen. Zonder het certificaat of de asymmetrische sleutel kan de database niet worden hersteld. Als gevolg hiervan moet het certificaat dat wordt gebruikt voor het versleutelen van de sleutel voor databaseversleuteling bewaard blijven zolang de back-up nodig is. Zie SQL Server-certificaten en Asymmetrische sleutelsvoor meer informatie.

Veiligheid

Machtigingen

Als de database die wordt hersteld niet bestaat, moet de gebruiker CREATE DATABASE-machtigingen hebben om RESTORE uit te kunnen voeren. Als de database bestaat, hebben leden van de vaste serverfuncties sysadmin en dbcreator, evenals de eigenaar (dbo) van de database, standaard rechten voor HERSTEL (voor de optie FROM DATABASE_SNAPSHOT bestaat de database altijd).

HERSTELmachtigingen worden gegeven aan rollen waarin lidmaatschapsgegevens altijd direct beschikbaar zijn voor de server. Omdat lidmaatschap van een vaste databaserol alleen kan worden gecontroleerd wanneer de database toegankelijk en onbeschadigd is, wat niet altijd het geval is wanneer RESTORE wordt uitgevoerd, hebben leden van de db_owner vaste databaserol geen MACHTIGINGEN VOOR HERSTELLEN.

SQL Server Management Studio gebruiken

Bestanden en bestandsgroepen herstellen

  1. Nadat u verbinding hebt gemaakt met het juiste exemplaar van de SQL Server Database Engine, klikt u in Objectverkenner op de servernaam om de serverstructuur uit te vouwen.

  2. Vouw Databasesuit. Afhankelijk van de database selecteert u een gebruikersdatabase of vouwt u Systeemdatabasesuit en selecteert u vervolgens een systeemdatabase.

  3. Klik met de rechtermuisknop op de database, wijs takenaan en klik vervolgens op herstellen.

  4. Klik op bestanden en bestandsgroepen, waarmee het dialoogvenster Bestanden en bestandsgroepen herstellen wordt geopend.

  5. Voer op de pagina Algemeen in de keuzelijst Naar database de database in die u wilt herstellen. U kunt een nieuwe database invoeren of een bestaande database kiezen in de vervolgkeuzelijst. De lijst bevat alle databases op de server, met uitzondering van de systeemdatabases hoofd- en tempdb-.

  6. Als u de bron en locatie van de back-upsets wilt opgeven die u wilt herstellen, klikt u op een van de volgende opties:

    • uit de database

      Voer een databasenaam in de keuzelijst in. Deze lijst bevat alleen databases waarvan een back-up is gemaakt volgens de msdb back-upgeschiedenis.

    • Van apparaat

      Klik op de bladerknop. Selecteer in het dialoogvenster Back-upapparaten opgeven een van de vermelde apparaattypen in de keuzelijst Back-upmediatype. Als u een of meer apparaten wilt selecteren voor de back-upmedia keuzelijst, klikt u op toevoegen.

      Nadat u de apparaten hebt toegevoegd die u wilt toevoegen aan de back-upmedia keuzelijst, klikt u op OK om terug te keren naar de pagina Algemeen.

  7. Selecteer in het -tabel "Selecteer de back-upsets om te herstellen" de back-ups om te herstellen. In dit raster worden de back-ups weergegeven die beschikbaar zijn voor de opgegeven locatie. Standaard wordt een herstelplan voorgesteld. Als u het voorgestelde herstelplan wilt overschrijven, kunt u de selecties in het raster wijzigen. Back-ups die afhankelijk zijn van een gedesselecteerde back-up, worden automatisch gedeselecteerd.

    Kolomkop Waarden
    herstellen De geselecteerde selectievakjes geven aan dat de back-upsets moeten worden hersteld.
    naam De naam van de back-upset.
    bestandstype Hiermee geeft u het type gegevens in de back-up op: Data, Logof Filestream Data. Gegevens die zijn opgenomen in tabellen, bevinden zich in Data-bestanden. Transactielogboekgegevens bevinden zich in logboekbestanden. Blob-gegevens (Binary Large Object) die zijn opgeslagen op het bestandssysteem, bevinden zich in Filestream Data-bestanden.
    type Het type back-up dat wordt uitgevoerd: volledige, differentiëleof transactielogboek.
    Server De naam van het Database-Engine exemplaar dat de back-upbewerking heeft uitgevoerd.
    logische bestandsnaam De logische naam van het bestand.
    Database De naam van de database die betrokken is bij de back-upbewerking.
    Begindatum De datum en tijd waarop de back-upbewerking is gestart, weergegeven in de regionale instelling van de client.
    einddatum De datum en tijd waarop de back-upbewerking is voltooid, weergegeven in de landinstelling van de client.
    Formaat De grootte van de back-upset in bytes.
    gebruikersnaam De naam van de gebruiker die de back-upbewerking heeft uitgevoerd.
  8. Als u de geavanceerde opties wilt weergeven of selecteren, klikt u op Opties in het deelvenster Een pagina selecteren.

  9. In het deelvenster Herstelopties kunt u een van de volgende opties kiezen, indien van toepassing op uw situatie.

    herstellen als bestandsgroep
    Geeft aan dat een volledige bestandsgroep wordt hersteld.

    de bestaande database overschrijven
    Hiermee geeft u op dat de herstelbewerking bestaande databases en de bijbehorende bestanden moet overschrijven, zelfs als er al een andere database of bestand met dezelfde naam bestaat.

    Het selecteren van deze optie komt overeen met het gebruik van de optie VERVANGEN in een Transact-SQL RESTORE-instructie.

    Vragen voordat u elke back-up herstelt
    Vraagt u om bevestiging voordat u elke back-upset herstelt.

    Deze optie is met name handig wanneer u tapes moet wisselen voor verschillende mediasets, bijvoorbeeld wanneer de server één tapeapparaat heeft.

    de toegang tot de herstelde database beperken
    Maakt de herstelde database alleen beschikbaar voor de leden van db_owner, dbcreatorof sysadmin.

    Het selecteren van deze optie staat gelijk aan het gebruik van de optie RESTRICTED_USER in een Transact-SQL RESTORE-instructie.

  10. U kunt de database desgewenst herstellen naar een nieuwe locatie door een nieuwe herstelbestemming op te geven voor elk bestand in de Databasebestanden herstellen als raster.

    Kolomkop Waarden
    oorspronkelijke bestandsnaam Het volledige pad van een bronback-upbestand.
    bestandstype Hiermee geeft u het type gegevens in de back-up op: Data, Logof Filestream Data. Gegevens die zijn opgenomen in tabellen, bevinden zich in Data-bestanden. Transactielogboekgegevens bevinden zich in logboekbestanden. Blob-gegevens (Binary Large Object) die zijn opgeslagen op het bestandssysteem, bevinden zich in Filestream Data-bestanden.
    Herstellen als Het volledige pad van het databasebestand dat moet worden hersteld. Als u een nieuw herstelbestand wilt opgeven, klikt u op het tekstvak en bewerkt u het voorgestelde pad en de bestandsnaam. Het wijzigen van het pad of de bestandsnaam in de kolom Herstellen als is gelijk aan het gebruik van de optie MOVE in een Transact-SQL RESTORE-instructie.
  11. Het deelvenster Herstelstatus bepaalt de status van de database na de herstelbewerking.

Laat de database gereed voor gebruik door de niet-doorgevoerde transacties terug te draaien. Aanvullende transactielogboeken kunnen niet worden hersteld. (HERSTELLEN MET HERSTELFUNCTIE)
Hiermee herstelt u de database. Dit is het standaardgedrag. Kies deze optie alleen als u alle benodigde back-ups nu herstelt. Deze optie is gelijk aan het opgeven van WITH RECOVERY in een Transact-SQL RESTORE-instructie.

Laat de database buiten werking, en maak niet de niet-doorgevoerde transacties ongedaan. Aanvullende transactielogboeken kunnen worden hersteld. (HERSTELLEN MET NORECOVERY)
Laat de database in de herstelmodus. Als u de database wilt herstellen, moet u een andere herstelbewerking uitvoeren met behulp van de voorgaande optie RESTORE WITH RECOVERY (zie hierboven). Deze optie is gelijk aan het opgeven van WITH NORECOVERY in een Transact-SQL RESTORE-instructie.

Als u deze optie selecteert, is de optie Replicatie-instellingen behouden niet beschikbaar.

Laat de database in de modus Alleen-lezen staan. Draai de niet-doorgevoerde transacties terug, maar sla de terugdraaibewerking op in een bestand, zodat de hersteleffecten ongedaan kunnen worden gemaakt. (HERSTELLEN MET STANDBY)
Laat de database in stand-bystatus staan. Deze optie is gelijk aan het opgeven van MET STANDBY in een Transact-SQL RESTORE-instructie.

Als u deze optie kiest, moet u een stand-bybestand opgeven.

bestand ongedaan maken
Geef een stand-by bestandsnaam op in het tekstvak rollback-bestand. Deze optie is vereist als u de database in de modus Alleen-lezen laat staan (HERSTELLEN MET STAND-BY).

Transact-SQL gebruiken

Bestanden en bestandsgroepen herstellen

  1. Voer de instructie RESTORE DATABASE uit om de back-up van het bestand en de bestandsgroep te herstellen, waarbij u het volgende opgeeft:

    • De naam van de database die moet worden hersteld.

    • Het back-upapparaat van waaruit de volledige databaseback-up wordt hersteld.

    • De bestandsclausule voor elk bestand dat moet worden hersteld.

    • De FILEGROUP-component voor elke bestandsgroep die moet worden hersteld.

    • De NORECOVERY-clausule. Als de bestanden niet zijn gewijzigd nadat de back-up is gemaakt, geeft u de RECOVERY-component op.

  2. Als de bestanden zijn gewijzigd nadat de bestandsback-up is gemaakt, voert u de instructie RESTORE LOG uit om de back-up van het transactielogboek toe te passen, waarbij u het volgende opgeeft:

    • De naam van de database waarop het transactielogboek wordt toegepast.

    • Het back-upapparaat van waaruit de back-up van het transactielogboek wordt hersteld.

    • Gebruik de NORECOVERY-clausule als u een andere back-up van een transactielogboek hebt om toe te passen na de huidige back-up; anders de RECOVERY-clausule opgeven.

      De back-ups van het transactielogboek, indien toegepast, moeten de tijd dekken waarop een back-up van de bestanden en bestandsgroepen tot het einde van het logboek is gemaakt (tenzij ALLE databasebestanden worden hersteld).

Voorbeeld (Transact-SQL)

In dit voorbeeld worden de bestanden en bestandsgroepen voor de MyDatabase-database hersteld. Als u de database wilt herstellen naar de huidige tijd, worden twee transactielogboeken toegepast.

USE master;  
GO  
-- Restore the files and filegroups for MyDatabase.  
RESTORE DATABASE MyDatabase  
   FILE = 'MyDatabase_data_1',  
   FILEGROUP = 'new_customers',  
   FILE = 'MyDatabase_data_2',  
   FILEGROUP = 'first_qtr_sales'  
   FROM MyDatabase_1  
   WITH NORECOVERY;  
GO  
-- Apply the first transaction log backup.  
RESTORE LOG MyDatabase  
   FROM MyDatabase_log1  
   WITH NORECOVERY;  
GO  
-- Apply the last transaction log backup.  
RESTORE LOG MyDatabase  
   FROM MyDatabase_log2  
   WITH RECOVERY;  
GO  

Zie ook

een databaseback-up herstellen met behulp van SSMS-
back-ups maken van bestanden en bestandsgroepen (SQL Server)
een back-up van een volledige database maken (SQL Server)
een back-up maken van een transactielogboek (SQL Server)
een back-up van een transactielogboek (SQL Server) herstellen
RESTORE (Transact-SQL)