Share via


Gefaseerd herstel van databases met geheugen-geoptimaliseerde tabellen

Van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Herstel van stukjes wordt ondersteund voor databases met tabellen die zijn geoptimaliseerd voor geheugen, met uitzondering van één beperking die hieronder wordt beschreven. Zie RESTORE (Transact-SQL) en Piecemeal Restores (SQL Server) voor meer informatie over stukjes back-up en herstel.

Er moet een back-up van een voor geheugen geoptimaliseerde bestandsgroep worden gemaakt en hersteld, samen met de primaire bestandsgroep:

  • Als u een back-up maakt (of herstelt) van de primaire bestandsgroep, moet u de voor geheugen geoptimaliseerde bestandsgroep opgeven.

  • Als u een back-up maakt (of herstelt) van de voor geheugen geoptimaliseerde bestandsgroep, moet u de primaire bestandsgroep opgeven.

Belangrijke scenario's voor gedeeltelijke back-up en herstel zijn,

  • Met stukjes back-up kunt u de grootte van de back-up verkleinen. Enkele voorbeelden:

    • Configureer de databaseback-up op verschillende tijdstippen of dagen om de impact op de workload te minimaliseren. Een voorbeeld is een zeer grote database (groter dan 1 TB) waarbij een volledige databaseback-up niet kan worden voltooid in de tijd die is toegewezen voor databaseonderhoud. In dat geval kunt u gedeeltelijke back-ups gebruiken om een back-up te maken van de volledige database in meerdere gedeeltelijke back-ups.

    • Als een bestandsgroep is gemarkeerd als alleen-lezen, is er geen back-up van het transactielogboek nodig nadat deze is gemarkeerd als alleen-lezen. U kunt ervoor kiezen om slechts eenmaal een back-up van de bestandsgroep te maken nadat u deze hebt gemarkeerd als alleen-lezen.

  • Stapsgewijs herstellen.

    • Het doel van een stukje terugzetten is om de essentiële onderdelen van de database online te brengen zonder te wachten op alle gegevens. Een voorbeeld is als een database gepartitioneerde gegevens bevat, zodat oudere partities slechts zelden worden gebruikt. U kunt ze alleen herstellen indien nodig. Vergelijkbaar met bestandsgroepen die bijvoorbeeld historische gegevens bevatten.

    • Met paginaherstel kunt u paginabeschadiging oplossen door de pagina specifiek te herstellen. Zie Pagina's herstellen (SQL Server)voor meer informatie.

Samples

In de voorbeelden wordt het volgende schema gebruikt:

CREATE DATABASE imoltp
    ON PRIMARY (
        name = imoltp_primary1,
        filename = 'c:\data\imoltp_data1.mdf')
    LOG ON (
        name = imoltp_log,
        filename = 'c:\data\imoltp_log.ldf');
    GO  
  
ALTER DATABASE imoltp
    ADD FILE (
        name = imoltp_primary2,
        filename = 'c:\data\imoltp_data2.ndf');
GO  
  
ALTER DATABASE imoltp
    ADD FILEGROUP imoltp_secondary;

ALTER DATABASE imoltp
    ADD FILE (
        name = imoltp_secondary,
        filename = 'c:\data\imoltp_secondary.ndf')
            TO FILEGROUP imoltp_secondary;
GO  
  
ALTER DATABASE imoltp
    ADD FILEGROUP imoltp_mod
    CONTAINS MEMORY_OPTIMIZED_DATA;

ALTER DATABASE imoltp
    ADD FILE (
        name = 'imoltp_mod1',
        filename = 'c:\data\imoltp_mod1')
            TO FILEGROUP imoltp_mod;

ALTER DATABASE imoltp
    ADD FILE (
        name = 'imoltp_mod2',
        filename = 'c:\data\imoltp_mod2')
            TO FILEGROUP imoltp_mod;
GO  

Backup

In dit voorbeeld ziet u hoe u een back-up maakt van de primaire bestandsgroep en de voor geheugen geoptimaliseerde bestandsgroep. U moet zowel de primaire als de door het geheugen geoptimaliseerde bestandsgroep opgeven.

BACKUP database imoltp
    filegroup = 'primary',
    filegroup = 'imoltp_mod'
    to disk = 'c:\data\imoltp.dmp'
    with init;

In het volgende voorbeeld ziet u dat een back-up van een andere bestandsgroep dan primaire en voor geheugen geoptimaliseerde bestandsgroep vergelijkbaar is met de databases zonder tabellen die zijn geoptimaliseerd voor geheugen. Met de volgende opdracht wordt een back-up van de secundaire bestandsgroep uitgevoerd

BACKUP database imoltp
    filegroup = 'imoltp_secondary'
    to disk = 'c:\data\imoltp_secondary.dmp'
    with init;

Restore

In het volgende voorbeeld ziet u hoe u de primaire bestandsgroep en de voor geheugen geoptimaliseerde bestandsgroep samen kunt herstellen.

RESTORE database imoltp
    filegroup = 'primary',
    filegroup = 'imoltp_mod'
    from disk = 'c:\data\imoltp.dmp'
    with
        partial,
        norecovery;

-- Restore the transaction log.

RESTORE LOG [imoltp]
    FROM DISK = N'c:\data\imoltp_log.dmp'
    WITH
        FILE = 1,
        NOUNLOAD,
        STATS = 10;
GO

In het volgende voorbeeld ziet u dat het herstellen van andere bestandsgroepen dan de primaire en voor het geheugen geoptimaliseerde bestandsgroep vergelijkbaar is met de databases zonder tabellen die zijn geoptimaliseerd voor geheugen

RESTORE DATABASE [imoltp]
    FILE = N'imoltp_secondary'
    FROM DISK = N'c:\data\imoltp_secondary.dmp'
    WITH
        FILE = 1,
        RECOVERY,
        NOUNLOAD,
        STATS = 10;
GO

Zie ook

Backup, herstel en herstel van Memory-Optimized Tabellen