Mogelijke mediafouten tijdens back-up en herstel (SQL Server)

van toepassing op:SQL Server-

SQL Server biedt u de mogelijkheid om een database te herstellen ondanks gedetecteerde fouten. Een belangrijk nieuw mechanisme voor foutdetectie is het optioneel maken van een back-upcontroleom die kan worden gemaakt door een back-upbewerking en gevalideerd door een herstelbewerking. U kunt bepalen of een bewerking controleert op fouten en of de bewerking stopt of doorgaat bij het optreden van een fout. Als een back-up een back-upcontrolesom bevat, kunnen RESTORE- en RESTORERESTORE VERIFYONLY-instructies op fouten controleren.

Notitie

Gespiegelde back-ups bieden maximaal vier kopieën (spiegels) van een mediaset, wat alternatieve kopieën biedt voor het herstellen van fouten die worden veroorzaakt door beschadigde media. Zie Gespiegelde back-upmediasets (SQL Server)voor meer informatie.

Backupcontrolesommen

SQL Server ondersteunt drie typen controlesommen: een controlesom op pagina's, een controlesom in logboekblokken en een back-upcontrolesom. Bij het genereren van een back-upcontrolesom controleert BACKUP of de uit de database gelezen gegevens consistent zijn met een controlesom of indicatie van een gescheurde pagina die in de database aanwezig is.

De instructie BACKUP berekent optioneel een back-upchecksum op de back-upstream; als op een bepaalde pagina page-checksum- of torn-page-informatie aanwezig is, controleert BACKUP bij het maken van een back-up van de pagina ook de checksum, de torn-page-status en de pagina-id. Bij het maken van een back-upcontroleom voegt een back-upbewerking geen controlesommen toe aan pagina's. Er wordt een back-up gemaakt van pagina's zoals ze in de database aanwezig zijn en de pagina's worden ongewijzigd door de back-up.

Vanwege de overhead die wordt veroorzaakt door het verifiëren en genereren van back-upcontrolesommen, kan het gebruik van back-upcontrolesommen een mogelijke prestatievermindering veroorzaken. Zowel de workload als de back-updoorvoersnelheid kunnen worden beïnvloed. Daarom is het gebruik van back-upcontrolesommen optioneel. Wanneer u besluit om tijdens een back-up controlesommen te genereren, houdt u de veroorzaakte CPU-overhead nauwlettend in de gaten, evenals de impact op enige gelijktijdige werklast op het systeem.

BACKUP wijzigt nooit de bronpagina op schijf of de inhoud van een pagina.

Wanneer backup checksums zijn ingeschakeld, voert een backupbewerking de volgende stappen uit:

  1. Voordat er een pagina naar de back-upmedia wordt geschreven, controleert het back-upproces, indien aanwezig, de informatie op paginaniveau (paginacontrolesom of gescheurde paginadetectie). Als geen van beide bestaat, kan de back-up de pagina niet verifiëren. Niet-geverifieerde pagina's worden als zodanig opgenomen en de inhoud ervan wordt toegevoegd aan de algehele controlesom voor back-ups.

    Als tijdens de verificatie een paginafout optreedt tijdens de back-upbewerking, mislukt de back-up.

    Notitie

    Zie de optie PAGE_VERIFY van de ALTER DATABASE-instructie voor meer informatie over paginacontrolesommen en detectie van onvolledige paginagegevens. Zie ALTER DATABASE SET Opties (Transact-SQL)voor meer informatie.

  2. Ongeacht of er paginacontrolesommen zijn, genereert BACKUP een aparte back-upcontrolesom voor de back-upstreams. Herstelbewerkingen kunnen eventueel de controlesom van de back-up gebruiken om te controleren of de back-up niet is beschadigd. De back-up checksum wordt opgeslagen op de back-upmedia, niet op de databasepagina's. De back-upcontrolesom kan eventueel worden gebruikt tijdens het herstellen.

  3. De back-upset wordt aangegeven als bevatte back-upcontrolesommen (in de kolom has_backup_checksums van msdb..backupset). Zie backupset (Transact-SQL)voor meer informatie.

Tijdens een herstelbewerking verifiëren zowel de RESTORE- als de RESTORERESTORE VERIFYONLY-instructies standaard de back-upcontrolesommen en paginacontrolesommen, als er back-upcontrolesommen aanwezig zijn op de back-upmedia. Als er geen back-upcontroleom is, wordt een van beide herstelbewerkingen uitgevoerd zonder verificatie; dit komt doordat herstel zonder een back-upcontroleom niet op betrouwbare wijze paginacontrolesommen kan verifiëren.

Reactie op fouten met paginacontrolesom tijdens een back-up- of herstelbewerking

Standaard mislukt na een paginacontrolesomfout een BACKUP- of RESTORE-bewerking en gaat een RESTORERESTORE VERIFYONLY-bewerking door. U kunt echter bepalen of een bepaalde bewerking mislukt bij het tegenkomen van een fout of zo goed mogelijk doorgaat.

Als een BACKUP bewerking doorgaat nadat er fouten zijn opgetreden, voert de bewerking de volgende stappen uit:

  1. Markeert de back-upset op de back-upmedia als fouten bevattend en volgt de pagina in de suspect_pages tabel in de msdb-database. Zie suspect_pages (Transact-SQL)voor meer informatie.

  2. Registreert de fout in het foutenlogboek van SQL Server.

  3. Hiermee wordt de back-upset gemarkeerd als met dit type fout (in de kolom is_damaged van msdb..backupset). Zie backupset (Transact-SQL)voor meer informatie.

  4. Geeft een bericht op dat de back-up is gegenereerd, maar paginafouten bevat.

Gerelateerde taken

Om back-upcontrolesommen in of uit te schakelen

Het antwoord op een fout tijdens een back-upbewerking beheren

Zie ook

ALTER DATABASE (Transact-SQL)
BACKUP (Transact-SQL)
backupset (Transact-SQL)
gespiegelde back-upmediasets (SQL Server)
RESTORE (Transact-SQL)
RESTORE VERIFYONLY (Transact-SQL)