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 controlesom bevat, kunnen de instructies RESTORE en RESTORE VERIFYONLY 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-upcontroleom controleert BACKUP of de gegevens die uit de database worden gelezen, consistent zijn met een controleom of gescheurde pagina-indicatie die aanwezig is in de database.
De BACKUP-instructie berekent optioneel een back-upcontrolesom op de back-upstroom; als pagina-controlesom of informatie over gescheurde pagina's aanwezig is op een bepaalde pagina, controleert BACKUP bij het maken van een back-up van de pagina ook de status van de controlesom en de status van de gescheurde pagina en de pagina-id van de pagina. 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:
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
Voor meer informatie over paginacontrolesommen en de detectie van gescheurde pagina's, raadpleeg de optie PAGE_VERIFY van de instructie ALTER DATABASE. Zie ALTER DATABASE SET Options (Transact-SQL)voor meer informatie.
Ongeacht of er paginacontrolesommen aanwezig zijn, genereert BACKUP een afzonderlijke backupcontrolesom voor de backupstreams. 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.
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.
Als tijdens een herstelbewerking back-upcontrolesommen aanwezig zijn op de back-upmedia, controleren standaard zowel de instructies RESTORE als RESTORE VERIFYONLY de controlesommen van de back-up en paginacontrolesommen. 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 een BACKUP- of RESTORE-bewerking na het optreden van een pagina-controlegetalfout, maar een restore verifyonly-bewerking wordt voortgezet. U kunt echter bepalen of een bepaalde bewerking mislukt bij het tegenkomen van een fout of zo goed mogelijk doorgaat.
Als een BACKUP-bewerking blijft optreden nadat er fouten zijn opgetreden, voert de bewerking de volgende stappen uit:
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.
Registreert de fout in het foutenlogboek van SQL Server.
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.
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)
VERIFYONLY (Transact-SQL) herstellen