Restaurer des bases de données SQL Server sur des machines virtuelles Azure

Cet article décrit comment restaurer une base de données SQL Server exécutée sur une machine virtuelle Azure qui a été sauvegardée dans un coffre Azure Backup Recovery Services avec le service Sauvegarde Azure.

Cet article explique comment restaurer des bases de données SQL Server. Pour plus d’informations, consultez Sauvegarder des bases de données SQL Server sur des machines virtuelles Azure.

Notes

Reportez-vous à la matrice de prise en charge des sauvegardes SQL pour en savoir plus sur les configurations et les scénarios pris en charge.

Restaurer à un point dans le temps ou un point de récupération

Sauvegarde Azure peut restaurer des bases de données SQL Server s’exécutant sur des machines virtuelles Azure comme suit :

  • Restaurer à une date ou une heure spécifique (à la seconde), en utilisant les sauvegardes de fichiers journaux. Sauvegarde Azure détermine automatiquement la sauvegarde différentielle complète appropriée, et la chaîne des sauvegardes de fichiers journaux nécessaires pour restaurer en fonction de la date/heure sélectionnée.
  • Restaurez une sauvegarde complète ou différentielle spécifique sur un point de récupération spécifique.

Prérequis pour la restauration

Avant de restaurer une base de données, notez les points suivants :

  • Vous pouvez restaurer la base de données vers une instance SQL Server dans la même région Azure.
  • Le serveur de destination doit être inscrit auprès du même coffre que la source. Si vous souhaitez restaurer des sauvegardes dans un autre coffre, activez la restauration avec plusieurs abonnements.
  • Si plusieurs instances sont en cours d’exécution sur un serveur, elles doivent toutes être opérationnelles. Sinon, le serveur n’apparaît pas dans la liste des serveurs de destination sur lesquels vous pouvez restaurer la base de données. Pour plus d’informations, reportez-vous aux étapes de dépannage.
  • Pour restaurer une base de données chiffrée avec TDE sur un autre serveur SQL Server, vous devez d’abord restaurer le certificat sur le serveur de destination.
  • Les bases de données compatibles avec la capture des changements de données (CDC) doivent être restaurées en utilisant l’option Restaurer en tant que fichiers.
  • Nous vous recommandons vivement de restaurer la base de données « master » à l’aide de l’option Restaurer en tant que fichiers, puis de restaurer à l’aide de commandes T-SQL.
  • Pour toutes les bases de données système (model, msdb), arrêtez le service SQL Server Agent avant de déclencher la restauration.
  • Fermez toutes les applications qui tentent de voler une connexion à l’une de ces bases de données.

Restaurer une base de données

Pour effectuer la restauration, vous avez besoin des autorisations suivantes :

  • Les autorisations Opérateur de sauvegarde pour le coffre dans lequel vous effectuez la restauration.
  • L’accès Contributeur (écriture) à la machine virtuelle source qui est sauvegardée.
  • L’accès Contributeur (écriture) à la machine virtuelle cible :
    • Si vous effectuez une restauration sur la même machine virtuelle, ce sera la machine virtuelle source.
    • Si vous effectuez une restauration à un autre emplacement, ce sera la nouvelle machine virtuelle cible.

Restaurez comme ceci :

  1. Dans le portail Azure, accédez au Centre de sauvegarde, puis cliquez sur Restaurer.

    Screenshot showing the start the restore process.

  2. Sélectionnez SQL dans une machine virtuelle Azure comme type de source de données, sélectionnez une base de données à restaurer, puis cliquez sur Continuer.

    Screenshot showing to select the datasource type.

  3. Dans Configuration de la restauration, spécifiez où (et comment) vous voulez restaurer les données :

    • Autre emplacement : restaure la base de données vers un autre emplacement et conserve la base de données source d’origine.

    • Remplacer la base de données : restaure les données dans la même instance SQL Server que la source d’origine. Cette option remplace la base de données d’origine.

      Important

      Si la base de données sélectionnée fait partie d’un groupe de disponibilité Always On, SQL Server n’autorise pas le remplacement de la base de données. Seul Autre emplacement est disponible.

    • Restaurer sous forme de fichiers : au lieu de restaurer sous forme de base de données, restaure les fichiers de sauvegarde qui peuvent être récupérés sous forme de base de données ultérieurement sur tout ordinateur sur lequel les fichiers sont présents à l’aide de SQL Server Management Studio.

Restaurer à un autre emplacement

  1. Dans le menu Configuration de la restauration, sous Où voulez-vous restaurer, sélectionnez Autre emplacement.

  2. Sélectionnez le nom du serveur et l’instance SQL Server où vous voulez restaurer la base de données.

  3. Dans la boîte de dialogue Nom de la base de données restaurée, indiquez le nom de la base de données cible.

  4. Le cas échéant, sélectionnez Remplacer si une base de données du même nom existe déjà sur l’instance SQL sélectionnée.

  5. Sélectionnez Point de restauration, puis sélectionnez restaurer à un point spécifique dans le temps ou restaurer à un point de récupération spécifique.

    Screenshot showing to select Restore Point.

    Screenshot showing restore to point in time.

  6. Dans le menu Configuration avancée :

    • Si vous voulez que la base de données reste non opérationnelle après la restauration, activez Restaurer avec NORECOVERY.

    • Si vous voulez changer l’emplacement de restauration sur le serveur de destination, entrez de nouveaux chemins cibles.

      Enter target paths

  7. Sélectionnez OK pour déclencher la restauration. Suivez la progression de la restauration dans la zone Notifications, ou suivez-la sous la vue Travaux de sauvegarde dans le coffre.

    Notes

    La restauration à un point dans le temps est disponible seulement pour les sauvegardes de fichiers journaux pour les bases de données dont le mode de récupération est Complet et utilisant les journaux de transactions.

Restaurer et remplacer

  1. Dans le menu Configuration de la restauration, sous Où voulez-vous restaurer, sélectionnez Remplacer la base de données>OK.

    Select Overwrite DB

  2. Dans Sélectionner un point de restauration, sélectionnez Journaux (point dans le temps) pour effectuer une restauration vers un point spécifique dans le temps. Ou sélectionnez Complète et différentielle pour effectuer une restauration à un point de récupération spécifique.

    Remarque

    La restauration à un point dans le temps est disponible seulement pour les sauvegardes de fichiers journaux pour les bases de données dont le mode de récupération est Complet et utilisant les journaux de transactions.

Restaurer sous forme de fichiers

Pour restaurer les données de sauvegarde sous forme de fichiers .bak plutôt que sous forme de base de données, choisissez Restaurer sous forme de fichiers. Une fois les fichiers vidés dans un chemin d’accès spécifié, vous pouvez placer ces fichiers sur n’importe quel ordinateur sur lequel vous souhaitez les restaurer sous forme de base de données. Étant donné que vous pouvez déplacer ces fichiers vers n’importe quel ordinateur, vous pouvez désormais restaurer les données entre les abonnements et les régions.

  1. Sous Où et comment restaurer, sélectionnez Restaurer sous forme de fichiers.

  2. Sélectionnez le nom du serveur SQL Server où vous voulez restaurer les fichiers de sauvegarde.

  3. Dans le Chemin d’accès de destination sur le serveur, entrez le chemin d’accès du dossier sur le serveur sélectionné à l’étape 2. Il s’agit de l’emplacement où le service doit vider tous les fichiers de sauvegarde nécessaires. En règle générale, un chemin d’accès de partage réseau, ou le chemin d’un partage de fichiers Azure monté lorsqu’il est spécifié comme chemin de destination, permet un accès plus facile à ces fichiers par d’autres ordinateurs du même réseau ou avec le même partage de fichiers Azure monté sur ces fichiers.

    Notes

    Pour restaurer les fichiers de sauvegarde de base de données sur un partage de fichiers Azure monté sur la machine virtuelle inscrite cible, assurez-vous que NT AUTHORITY\SYSTEM a accès au partage de fichiers. Vous pouvez effectuer les étapes ci-dessous pour accorder les autorisations de lecture/écriture au compte AFS monté sur la machine virtuelle :

    • Exécuter PsExec -s cmd pour entrer dans l’interpréteur de commandes NT AUTHORITY\SYSTEM
      • Exécutez cmdkey /add:<storageacct>.file.core.windows.net /user:AZURE\<storageacct> /pass:<storagekey>
      • Vérifier l’accès avec dir \\<storageacct>.file.core.windows.net\<filesharename>
    • Lancer une restauration en tant que fichiers à partir du coffre de sauvegarde vers \\<storageacct>.file.core.windows.net\<filesharename> comme chemin d’accès
      Vous pouvez télécharger PsExec à partir de la page Sysinternals.
  4. Sélectionnez OK.

    Select Restore As Files

  5. Sélectionnez Point de restauration, puis sélectionnez restaurer à un point spécifique dans le temps ou restaurer à un point de récupération spécifique.

  6. Lorsque vous effectuez une restauration à un instant dans le passé de la base de données SQL à l’aide de Restaurer en tant que fichiers, il stocke tous les points de récupération de la sauvegarde complète vers le point dans le temps sélectionné. Vous pouvez alors restaurer ces fichiers sous forme de base de données sur n’importe quel ordinateur sur lequel ils sont présents à l’aide de SQL Server Management Studio.

    Restored Backup Files in Destination Path

Restaurer à un point spécifique dans le temps

Si vous avez sélectionné Journaux d’activité (point dans le temps) comme type de restauration, effectuez les actions suivantes :

  1. Sous Date/heure de la restauration, ouvrez le calendrier. Dans le calendrier, les dates marquant des points de récupération sont indiquées en gras, et la date du jour est mise en surbrillance.

  2. Sélectionnez une date avec des points de récupération. Vous ne pouvez pas sélectionner des dates qui n’ont aucun point de récupération.

    Open the calendar

  3. Une fois que vous avez sélectionné une date, le graphique chronologique affiche les points de récupération disponibles dans une plage continue.

  4. Spécifiez une heure pour la récupération avec le graphique chronologique, ou sélectionnez une heure. Sélectionnez ensuite OK.

Restauration partielle en tant que fichiers

Le service Sauvegarde Azure détermine la chaîne de fichiers à télécharger lors d’une restauration sous forme de fichiers. Toutefois, il existe des scénarios où vous ne souhaiterez peut-être pas retélécharger l’intégralité du contenu.

Par exemple, lorsque vous disposez d’une stratégie de sauvegardes complètes hebdomadaires, de sauvegardes différentielles quotidiennes et de journaux, et que vous avez déjà téléchargé des fichiers pour une sauvegarde différentielle particulière. Vous avez constaté que ce n’était pas le bon point de récupération et vous avez décidé de télécharger la sauvegarde différentielle du lendemain. Maintenant, vous avez simplement besoin du fichier de sauvegarde différentielle, car vous avez déjà la sauvegarde complète de départ. Avec la capacité de restauration partielle en tant que fichiers fournie par Sauvegarde Azure, vous pouvez désormais exclure la sauvegarde complète de la chaîne de téléchargement et télécharger uniquement la sauvegarde différentielle.

Exclusion de types de fichiers de sauvegarde

ExtensionSettingsOverrides.json est un fichier JSON (JavaScript Object Notation) qui contient des remplacements pour plusieurs paramètres du service Sauvegarde Azure pour SQL. Pour l’opération « Restauration partielle en tant que fichiers », un nouveau champ JSON RecoveryPointTypesToBeExcludedForRestoreAsFiles doit être ajouté. Ce champ contient une valeur de chaîne qui indique quels types de points de récupération doivent être exclus dans l’opération de restauration en tant que fichiers suivante.

  1. Sur la machine cible où les fichiers doivent être téléchargés, accédez au dossier « C:\Program Files\Azure Workload Backup\bin ».

  2. Créez un fichier JSON nommé « ExtensionSettingsOverrides.JSON » s’il n’existe pas encore.

  3. Ajoutez la paire de valeurs de clé JSON suivante.

    {
    "RecoveryPointTypesToBeExcludedForRestoreAsFiles": "ExcludeFull"
    }
    
  4. Aucun service ne doit être redémarré. Le service Sauvegarde Azure tentera d’exclure les types de sauvegarde dans la chaîne de restauration comme indiqué dans ce fichier.

Le RecoveryPointTypesToBeExcludedForRestoreAsFiles ne prend que les valeurs spécifiques qui indiquent les points de récupération à exclure lors de la restauration. Pour SQL, ces valeurs sont les suivantes :

  • ExcludeFull (les autres types de sauvegarde tels que différentielles et journaux seront téléchargés, s’ils sont présents dans la chaîne de points de restauration)
  • ExcludeFullAndDifferential (les autres types de sauvegarde tels que les journaux seront téléchargés, s’ils sont présents dans la chaîne de points de restauration)
  • ExcludeFullAndIncremental (les autres types de sauvegarde tels que les journaux seront téléchargés, s’ils sont présents dans la chaîne de points de restauration)
  • ExcludeFullAndDifferentialAndIncremental (les autres types de sauvegarde tels que les journaux seront téléchargés, s’ils sont présents dans la chaîne de points de restauration).

Restaurer à un point de restauration spécifique

Si vous avez sélectionné Complète et différentielle comme type de restauration, effectuez les actions suivantes :

  1. Sélectionnez un point de récupération dans la liste, puis cliquez sur OK pour terminer la procédure de sélection du point de restauration.

    Choose a full recovery point

    Remarque

    Par défaut, les points de récupération des 30 derniers jours sont affichés. Vous pouvez afficher les points de récupération datant de plus de 30 jours en sélectionnant Filtrer, puis une plage personnalisée.

Restaurer des bases de données comprenant un grand nombre de fichiers

Si la taille totale de la chaîne des fichiers dans une base de données dépasse une limite spécifique, Sauvegarde Azure stocke la liste des fichiers de base de données dans un composant pit différent, de sorte que vous ne pouvez pas définir le chemin de restauration cible pendant l’opération de restauration. Au lieu de cela, les fichiers seront restaurés vers le chemin d’accès SQL par défaut.

Restore Database with large file

Récupérer une base de données à partir d’un fichier .bak en utilisant SQL Server Management Studio (SSMS)

Vous pouvez utiliser l’opération Restaurer en tant que fichiers pour restaurer les fichiers de base de données au format .bak lors d’une restauration dans le Portail Azure. Plus d’informations

Une fois la restauration du fichier .bak terminée sur la machine virtuelle Azure, vous pouvez déclencher la restauration en utilisant des commandes T-SQL via SQL Server Management Studio (SSMS).   Pour restaurer les fichiers de base de données vers le chemin d’accès d’origine sur le serveur source, supprimez la clause MOVE de la requête de restauration T-SQL.   Exemple

  USE [master] 
  RESTORE DATABASE [<DBName>] FROM  DISK = N'<.bak file path>'

Notes

Vous ne devez pas disposer des mêmes fichiers de base de données sur le serveur cible (effectuer une restauration à l’aide de l’option remplacer).  En outre, vous pouvez activer l’initialisation instantanée des fichiers sur le serveur cible afin de réduire la surcharge de temps pour l’initialisation des fichiers.

Pour déplacer les fichiers de base de données du serveur de restauration cible, vous pouvez formuler une commande T-SQL en tirant parti des clauses MOVE.

  USE [master] 
  RESTORE DATABASE [<DBName>] FROM  DISK = N'<.bak file path>'  MOVE N'<LogicalName1>' TO N'<TargetFilePath1OnDisk>',  MOVE N'<LogicalName2>' TO N'<TargetFilePath2OnDisk>' GO

Exemple

  USE [master] 
  RESTORE DATABASE [test] FROM  DISK = N'J:\dbBackupFiles\test.bak' WITH  FILE = 1,  MOVE N'test' TO N'F:\data\test.mdf',  MOVE N'test_log' TO N'G:\log\test_log.ldf',  NOUNLOAD,  STATS = 5 
  GO

S’il existe au moins deux fichiers pour la base de données, vous pouvez ajouter des clauses MOVE supplémentaires à la requête de restauration. Vous pouvez également utiliser SQL Server Management Studio (SSMS) pour la récupération de base de données à l’aide des fichiers .bak. Plus d’informations

Notes

Pour effectuer une récupération de base de données volumineuse, nous vous conseillons d’utiliser des instructions T-SQL. Si vous souhaitez déplacer des fichiers de base de données spécifiques, consultez la liste des fichiers de base de données au format JSON créée lors de l’opération Restaurer en tant que fichiers.

Restauration interrégion

parmi les options de restauration, la restauration entre régions (CRR) vous permet de restaurer des bases de données SQL hébergées sur des machines virtuelles Azure dans une région secondaire, qui est une région jumelée Azure.

Pour commencer à utiliser la fonctionnalité, lisez la section Avant de commencer.

Pour voir si la CRR est activée, suivez les instructions indiquées dans Configurer la restauration interrégion

Afficher les éléments de sauvegarde dans la région secondaire

Si la CRR est activée, vous pouvez afficher les éléments de sauvegarde dans la région secondaire.

  1. À partir du portail, accédez à Coffre Recovery Services>Éléments de sauvegarde.
  2. Cliquez sur Région secondaire pour afficher les éléments de la région secondaire.

Notes

Seuls les types de gestion des sauvegardes prenant en charge la fonctionnalité CRR s’affichent dans la liste. Actuellement, seule la prise en charge de la restauration de données de région secondaire vers une région secondaire est autorisée.

Backup items in secondary region

Databases in secondary region

Restaurer dans la région secondaire

L’expérience utilisateur de restauration de la région secondaire est similaire à celle de la région primaire. Quand vous configurez votre restauration dans le panneau Configuration de la restauration, vous êtes invité à fournir uniquement les paramètres de région secondaire. Un coffre doit exister dans la région secondaire et le serveur SQL doit être inscrit dans le coffre dans la région secondaire.

Where and how to restore

Trigger restore in progress notification

Remarque

  • Une fois la restauration déclenchée et au cours de la phase de transfert des données, le travail de restauration ne peut pas être annulé.
  • Les niveaux rôle/accès requis pour effectuer l’opération de restauration inter-régions sont le rôle Opérateur de sauvegarde dans l’abonnement et l’accès Contributeur(écriture) sur les machines virtuelles source et cible. Pour afficher les tâches de sauvegarde, lecteur de sauvegarde est la permission minimale requise dans l’abonnement.
  • L’objectif RPO (objectif de point de récupération) pour que les données de sauvegarde soient disponibles dans la région secondaire est de 12 heures. Ainsi, quand vous activez la restauration CRR (restauration interrégionale), l’objectif RPO de la région secondaire est de 12 heures + la durée de la fréquence de journalisation (qui peut être définie à une valeur minimale de 15 minutes).

Découvrez les exigences de rôle minimales pour la restauration inter-régions.

Surveillance des travaux de restauration de la région secondaire

  1. Dans le portail Azure, accédez à Centre de sauvegarde>Travaux de sauvegarde.

  2. Filtrez l’opération pour CrossRegionRestore pour afficher les travaux dans la région secondaire.

    Screenshot showing the filtered Backup jobs.

Restauration avec plusieurs abonnements

Sauvegarde Azure vous permet désormais de restaurer une base de données SQL sur n’importe quel abonnement (conformément aux exigences RBAC Azure suivantes) à partir du point de restauration. Par défaut, Sauvegarde Azure restaure sur le même abonnement que celui où les points de restauration sont disponibles.

Avec la restauration avec plusieurs abonnements (CSR), vous avez la possibilité de restaurer n’importe quel abonnement et tout coffre sous votre tenant (locataire) si des autorisations de restauration sont disponibles. Par défaut, une CSR est activée sur tous les coffres Recovery Services (coffres existants et nouvellement créés).

Notes

  • Vous pouvez déclencher la restauration avec plusieurs abonnements à partir d’un coffre Recovery Services.
  • La CSR est prise en charge uniquement pour des sauvegardes basées sur une diffusion en continu et n’est pas prise en charge pour des sauvegardes basées sur des instantanés.
  • La restauration inter-région (CRR) avec CSR n’est pas prise en charge.

Conditions requises de RBAC Azure

Type d'opération Opérateur de sauvegarde Coffre Recovery Services Autre opérateur
Restaurer une base de données ou restaurer en tant que fichiers Virtual Machine Contributor Machine virtuelle source qui a été sauvegardée Au lieu d’un rôle intégré, vous pouvez utiliser un rôle personnalisé qui dispose des autorisations suivantes :

- Microsoft.Compute/virtualMachines/write
- Microsoft.Compute/virtualMachines/read
Virtual Machine Contributor Machine virtuelle cible dans laquelle la base de fichiers sera restaurée ou des fichiers seront créés. Au lieu d’un rôle intégré, vous pouvez utiliser un rôle personnalisé qui dispose des autorisations suivantes :

- Microsoft.Compute/virtualMachines/write
- Microsoft.Compute/virtualMachines/read
Backup Operator Coffre Recovery Services cible

Par défaut, la CSR est activée sur le coffre Recovery Services. Pour mettre à jour les paramètres de restauration du coffre Recovery Services, accédez à Propriétés, puis Restauration avec plusieurs abonnements et apportez les modifications nécessaires.

Screenshot shows how to modify the Cross Subscription Restore settings on a Recovery Services vault for SQL database.

Étapes suivantes

Gérez et surveillez des bases de données SQL Server sauvegardées par Sauvegarde Azure.