Delen via


Een back-up maken van een database met geheugen-geoptimaliseerde tabellen

Van toepassing op:SQL Server

Er wordt een back-up gemaakt van tabellen die zijn geoptimaliseerd voor geheugen, als onderdeel van normale databaseback-ups. Wat betreft tabellen op basis van schijven, wordt de CHECKSUM van gegevens- en Delta-bestandsparen gevalideerd als onderdeel van de databaseback-up om beschadiging van de opslag te detecteren.

Opmerking

Als u tijdens een back-up een CHECKSUM-fout detecteert in een of meer bestanden in een voor geheugen geoptimaliseerde bestandsgroep, mislukt de back-upbewerking. In dat geval moet u uw database herstellen vanaf de laatst bekende goede back-up.

Als u geen back-up hebt, kunt u de gegevens exporteren uit tabellen die zijn geoptimaliseerd voor geheugen en schijven, en opnieuw laden nadat u de database hebt verwijderd en opnieuw hebt gemaakt.

Een volledige back-up van een database met een of meer tabellen die zijn geoptimaliseerd voor geheugen, bestaat uit de toegewezen opslag voor tabellen op basis van schijven (indien van toepassing), het actieve transactielogboek en de gegevens- en deltabestandparen (ook wel controlepuntbestandparen genoemd) voor tabellen die zijn geoptimaliseerd voor geheugen. Zoals beschreven in Duurzaamheid voor Memory-Optimized Tabellen, kan de opslag die wordt gebruikt door geheugen-geoptimaliseerde tabellen veel groter zijn dan de grootte ervan in het geheugen en heeft dit invloed op de grootte van de databaseback-up.

Volledige databaseback-up

Deze discussie is gericht op databaseback-ups voor databases met alleen duurzame tabellen die zijn geoptimaliseerd voor geheugen, omdat de back-up voor schijftabellen hetzelfde is. De controlepuntbestandparen in de voor het geheugen geoptimaliseerde bestandsgroep kunnen zich in verschillende statussen bevinden. In de onderstaande tabel wordt beschreven van welk deel van de bestanden een back-up wordt gemaakt.

Status van controlepuntbestandspaar Backup
VOORAF GEMAAKT Alleen bestandsmetagegevens
In Aanbouw Alleen bestandsmetagegevens
ACTIEF Metagegevens van bestanden plus gebruikte bytes
SAMENVOEGDOEL Alleen bestandsmetagegevens
WACHTEN OP AFKAPPING VAN LOGBOEKEN Metagegevens van bestanden plus gebruikte bytes

Zie sys.dm_db_xtp_checkpoint_files (Transact-SQL) en de bijbehorende kolom state_desc voor beschrijvingen van de statussen voor controlepuntbestandsparen.

De grootte van databaseback-ups met een of meer tabellen die zijn geoptimaliseerd voor geheugen, is doorgaans groter dan de grootte in het geheugen, maar kleiner dan de opslag op schijf. De extra grootte is afhankelijk van het aantal verwijderde rijen, onder andere factoren.

Grootte van volledige databaseback-up schatten

Belangrijk

Het is raadzaam om de waarde BackupSizeInBytes niet te gebruiken om de back-upgrootte voor In-Memory OLTP te schatten.

Het eerste workloadscenario is bedoeld voor (meestal) invoegen. In dit scenario hebben de meeste gegevensbestanden de status Actief, volledig geladen en met zeer weinig verwijderde rijen. De grootte van de back-up van de database ligt dicht bij de grootte van gegevens in het geheugen.

Het tweede workloadscenario is bedoeld voor frequente invoeg-, verwijder- en updatebewerkingen. In het ergste geval is elk van de controlepuntbestandsparen 50% geladen, rekening houdend met de verwijderde rijen. De grootte van de databaseback-up is minstens 2 keer de grootte van gegevens in het geheugen.

Differentiële back-ups van databases met geheugen-geoptimaliseerde tabellen

De opslag voor tabellen die zijn geoptimaliseerd voor geheugen bestaat uit gegevens- en deltabestanden, zoals beschreven in Duurzaamheid voor Memory-Optimized Tabellen. De differentiële back-up van een database met tabellen die zijn geoptimaliseerd voor geheugen bevat de volgende gegevens:

  • Differentiële back-up voor bestandsgroepen die schijftabellen opslaan, wordt niet beïnvloed door de aanwezigheid van tabellen die zijn geoptimaliseerd voor geheugen.

  • Het actieve transactielogboek is hetzelfde als in een volledige databaseback-up.

  • Voor een voor geheugen geoptimaliseerde gegevensbestandsgroep gebruikt de differentiële back-up hetzelfde algoritme als de volledige databaseback-up om de gegevens en deltabestanden voor back-up te identificeren, maar vervolgens wordt de subset van bestanden als volgt gefilterd:

    • Een gegevensbestand bevat nieuw ingevoegde rijen en wanneer het vol is, wordt het gesloten en gemarkeerd als alleen-lezen. Er wordt alleen een back-up van een gegevensbestand gemaakt als het is gesloten na de laatste volledige back-up van de database. De differentiële back-up maakt alleen een back-up van gegevensbestanden die de rijen bevatten die sinds de laatste volledige databaseback-up zijn ingevoegd. Een uitzondering is een update- en verwijder-scenario waarbij het mogelijk is dat sommige ingevoegde rijen al zijn gemarkeerd voor afvalinzameling of al ingezameld.

    • In een Delta-bestand worden verwijzingen naar de verwijderde gegevensrijen opgeslagen. Aangezien toekomstige transacties een rij kunnen verwijderen, kan een deltabestand op elk gewenst moment in de levensduur worden gewijzigd, wordt het nooit gesloten. Er wordt altijd een back-up van een Delta-bestand gemaakt. Delta-bestanden gebruiken doorgaans minder dan 10% van de opslag, zodat deltabestanden een minimale invloed hebben op de grootte van differentiële back-ups.

Als tabellen die zijn geoptimaliseerd voor geheugen een aanzienlijk deel van de databasegrootte vormen, kan de differentiële back-up de grootte van uw databaseback-up aanzienlijk verminderen. Voor typische OLTP-workloads zijn de differentiële back-ups aanzienlijk kleiner dan de volledige databaseback-ups.

Zie ook

Backup, herstel en terughalen van Memory-Optimized-tabellen