Restauration fragmentaire de bases de données avec des tables à mémoire optimisée

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

La restauration fragmentaire est prise en charge sur les bases de données avec des tables mémoire optimisées, à l'exception d'une restriction décrite ci-dessous. Pour plus d’informations sur la sauvegarde et la restauration fragmentaires, consultez RESTORE (Transact-SQL) et Restaurations fragmentaires (SQL Server) .

Un groupe de fichiers mémoire optimisé doit être sauvegardé et restauré avec le groupe de fichiers principal.

  • Si vous sauvegardez (ou restaurez) le groupe de fichiers principal, vous devez spécifier le groupe de fichiers mémoire optimisé.

  • Si vous sauvegardez (ou restaurez) le groupe de fichiers principal, vous devez spécifier le groupe de fichiers à mémoire optimisée.

Principaux scénarios de sauvegarde et de restauration fragmentaires

  • La sauvegarde fragmentaire vous permet de réduire la taille de la sauvegarde. Voici quelques exemples :

    • Configurez la sauvegarde de base de données de façon à ce qu'elle se produise à différentes heures ou différents jours pour réduire l'impact sur la charge de travail. Par exemple, une base de données très volumineuse (de plus de 1 To) où une sauvegarde complète de la base de données ne peut pas être effectuée dans le temps alloué pour la maintenance de la base de données. Dans ce cas, utilisez une sauvegarde fragmentaire pour sauvegarder la base de données complète en plusieurs sauvegardes fragmentaires.

    • Si un groupe de fichiers est indiqué comme étant en lecture seule, il ne nécessite pas de sauvegarde du journal des transactions après qu'il a été marqué en lecture seule. Vous pouvez choisir de sauvegarder le groupe de fichiers une seule fois après son marquage en lecture seule.

  • Restauration fragmentaire.

    • Le but d'une restauration fragmentaire consiste à mettre en ligne les parties critiques de base de données sans attendre toutes les données. Par exemple, si une base de données contient des données partitionnées, les partitions les plus anciennes sont rarement utilisées. Vous pouvez les restaurer uniquement si nécessaire. Il en va de même pour les groupes de fichiers qui contiennent, par exemple, des données d'historique.

    • Utilisez la réparation de page pour résoudre l'altération de page lors de la restauration spécifique de la page. Pour plus d’informations, consultez l’article Restaurer des pages (SQL Server).

Exemples

Les exemples utilisent le schéma suivant :

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  

Sauvegarder

Cet exemple montre comment sauvegarder le groupe de fichiers principal et le groupe de fichiers à mémoire optimisée. Vous devez spécifier le groupe de fichiers principal et le groupe de fichiers mémoire optimisé.

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

L’exemple suivant montre qu’une sauvegarde d’un groupe de fichiers autre que le groupe de fichiers principal et le groupe de fichiers à mémoire optimisé est similaire dans les bases de données sans tables à mémoire optimisée. La commande suivante permet de sauvegarder le groupe de fichiers secondaire

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

Restaurer

Cet exemple montre comment restaurer le groupe de fichiers principal et le groupe de fichiers mémoire optimisé ensemble.

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

L'exemple suivant montre que la restauration d'un ou plusieurs groupes de fichiers autres que le groupe de fichiers principal et le groupe de fichiers mémoire optimisé est similaire dans les bases de données sans tables mémoire optimisées.

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

Voir aussi

Sauvegarder, restaurer et récupérer des tables optimisées en mémoire