Sauvegarde automatisée pour les machines virtuelles Azure (Resource Manager)

S’applique à :SQL Server sur la machine virtuelle Azure

La sauvegarde automatisée configure automatiquement une sauvegarde managée sur Microsoft Azure pour toutes les bases de données existantes et nouvelles sur une machine virtuelle Azure exécutant SQL Server 2016 ou des éditions ultérieures Standard, Enterprise ou Developer. Cela vous permet de configurer des sauvegardes régulières de base de données utilisant le Stockage Blob Azure durable. La sauvegarde automatisée dépend de l’extension de l’agent d’infrastructure en tant que service (IaaS) SQL Server.

Prérequis

Pour utiliser la sauvegarde automatisée, reévaluez les préréquis suivants :

Système d’exploitation :

  • Windows Server 2012 R2 ou version ultérieure

Édition/version de SQL Server:

  • SQL Server 2016 ou versions ultérieures : Developer, Standard ou Enterprise

Notes

Pour SQL Server 2014, consultez l’article Sauvegarde automatisée pour les machines virtuelles SQL Server 2014.

Configuration de la base de données:

  • Les bases de données utilisateur cibles doivent utiliser le modèle de récupération complète. Les bases de données système n’ont pas besoin d’utiliser le mode de récupération complète. Toutefois, si vous avez besoin de sauvegardes de fichier journal pour model ou msdb, vous devez utiliser le mode de récupération complète. Pour plus d’informations sur l’impact du modèle de récupération complète sur les sauvegardes, consultez Sauvegarde en mode de récupération complète.
  • La machine virtuelle SQL Server a été inscrite auprès de l’extension SQL IaaS Agent et la fonctionnalité Sauvegarde automatisée est activée. Comme la sauvegarde automatisée est basée sur l’extension, la sauvegarde automatisée est prise en charge uniquement sur les bases de données cibles de l’instance par défaut ou sur une instance nommée unique. S’il n’existe aucune instance par défaut et plusieurs instances nommées, cela entraîne l’échec de l’extension SQL IaaS Agent et la sauvegarde automatisée ne fonctionne pas.

Paramètres

Le tableau suivant décrit les options qui peuvent être configurées pour une sauvegarde automatisée. Les étapes de la configuration varient selon que vous utilisez les commandes du portail Azure ou Azure Windows PowerShell. La sauvegarde automatisée utilise la compression de sauvegarde par défaut. Cette option ne peut pas être désactivée.

Paramètres de base

Paramètre Plage (par défaut) Description
Sauvegarde automatisée Activer/Désactiver (désactivé) Active ou désactive la sauvegarde automatisée d’une machine virtuelle Azure exécutant SQL Server 2016 ou versions ultérieures Développeur, Standard ou Entreprise.
Période de rétention 1 à 90 jours (90 jours) Nombre de jours durant lesquels les sauvegardes sont conservées.
Compte de stockage Compte Azure Storage Compte de stockage Azure à utiliser pour stocker les fichiers de sauvegarde automatisée dans le stockage d’objets blob. Un conteneur est créé à cet emplacement pour stocker tous les fichiers de sauvegarde. La convention de dénomination des fichiers de sauvegarde inclut la date, l’heure et le GUID de base de données.
Chiffrement Activer/Désactiver (désactivé) Active ou désactive le chiffrement de sauvegarde. Quand le chiffrement de sauvegarde est activé, les certificats utilisés pour restaurer la sauvegarde se trouvent dans le compte de stockage spécifié dans le même conteneur automaticbackup présentant la même convention de dénomination. Si le mot de passe change, un nouveau certificat est généré avec ce mot de passe, mais l’ancien certificat est conservé pour restaurer les sauvegardes antérieures.
Mot de passe Texte du mot de passe Mot de passe pour les clés de chiffrement. Le mot de passe est uniquement requis si le chiffrement est activé. Pour restaurer une sauvegarde chiffrée, vous devez disposer du mot de passe correct et du certificat associé qui a été utilisé lorsque la sauvegarde a été effectuée.

Paramètres avancés

Paramètre Plage (par défaut) Description
Sauvegardes de bases de données système Activer/Désactiver (désactivé) Quand elle et activée, cette fonctionnalité sauvegarde également les bases de données système : master, msdb et model. Pour les bases de données msdb et model, vérifiez qu’elles sont en mode de récupération complète si vous souhaitez effectuer des sauvegardes de journaux. Les sauvegardes de fichier journal ne sont jamais effectuées pour master et aucune sauvegarde n’est effectuée pour tempdb.
Planification de sauvegarde Manuelle/automatisée (automatisée) Par défaut, la planification de la sauvegarde varie automatiquement selon la croissance du journal. Une planification de sauvegarde manuelle permet à l’utilisateur de spécifier la fenêtre de temps des sauvegardes. Dans ce cas, les sauvegardes sont effectuées uniquement à une fréquence spécifiée et pendant la fenêtre de temps définie sur un jour donné.
Fréquence de sauvegarde complète Quotidienne/hebdomadaire Fréquence des sauvegardes complètes. Dans les deux cas, les sauvegardes complètes commencent à la prochaine fenêtre de temps planifiée. Si vous sélectionnez l’option Hebdomadaire, les sauvegardes peuvent s’étaler sur plusieurs jours jusqu'à ce que toutes les bases de données aient été sauvegardées avec succès.
Heure de début de la sauvegarde complète 00:00 – 23:00 (01:00) Heure de début d’un jour donné où des sauvegardes complètes peuvent être effectuées.
Fenêtre de temps de la sauvegarde complète 1 à 23 heures (1 heure) Durée de la fenêtre de temps d’un jour donné où des sauvegardes complètes peuvent être effectuées.
Fréquence de sauvegarde des journaux 5 à 60 minutes (60 minutes) Fréquence des sauvegardes de journaux.

Présentation de la fréquence de sauvegarde complète

Il est important de bien comprendre la différence entre les sauvegardes complètes quotidiennes et hebdomadaires. Considérez les deux exemples de scénarios suivants.

Scénario 1 : Sauvegardes hebdomadaires

Vous disposez d’une machine virtuelle SQL Server qui contient plusieurs bases de données volumineuses.

Lundi, vous activez la sauvegarde automatisée avec les paramètres suivants :

  • Planification de la sauvegarde : Manuel
  • Fréquence de sauvegarde complète : Hebdomadaire
  • Heure de début de la sauvegarde complète : 01:00
  • Fenêtre de temps de la sauvegarde complète : 1 heure

Cela signifie que la prochaine fenêtre de sauvegarde disponible est mardi à 1 h 00 pendant 1 heure. À ce stade, la sauvegarde automatisée commence à sauvegarder vos bases de données une par une. Dans ce scénario, vos bases de données sont suffisamment volumineuses pour pouvoir sauvegarder complètement les deux premières bases de données. Mais après une heure, les bases de données n’ont pas toutes été sauvegardées.

Dans ce cas, Sauvegarde automatisée commencera à sauvegarder les bases de données restantes le lendemain, mercredi à 1 h 00 pendant une heure. Si les bases de données n’ont pas toutes été sauvegardées pendant cette période, une nouvelle tentative de sauvegarde est effectuée le lendemain à la même heure. Cette opération se poursuit jusqu'à ce que toutes les bases de données aient été correctement sauvegardées.

Le mardi suivant, la sauvegarde automatisée commence à nouveau à sauvegarder toutes les bases de données.

Ce scénario montre que la sauvegarde automatisée ne fonctionne que dans la fenêtre de temps spécifiée, et que chaque base de données est sauvegardée une fois par semaine. Il montre également que les sauvegardes peuvent s’étaler sur plusieurs jours s’il n’est pas possible de terminer toutes les sauvegardes en une même journée.

Scénario 2 : Sauvegardes quotidiennes

Vous disposez d’une machine virtuelle SQL Server qui contient plusieurs bases de données volumineuses.

Lundi, vous activez la sauvegarde automatisée avec les paramètres suivants :

  • Planification de la sauvegarde : Manuel
  • Fréquence de sauvegarde complète : Quotidien
  • Heure de début de la sauvegarde complète : 22:00
  • Fenêtre de temps de la sauvegarde complète : 6 heures

Cela signifie que la prochaine fenêtre de sauvegarde disponible est lundi à 22 h 00 pendant 6 heures. À ce stade, la sauvegarde automatisée commence à sauvegarder vos bases de données une par une.

Puis des sauvegardes complètes de toutes les bases de données seront relancées mardi à 22 h 00 pendant 6 heures.

Important

Les sauvegardes se produisent de façon séquentielle au cours de chaque intervalle. Pour les instances avec un grand nombre de bases de données, planifiez l’intervalle de sauvegarde avec suffisamment de temps pour prendre en charge toutes les sauvegardes. Si les sauvegardes ne peuvent pas se terminer dans l’intervalle donné, certaines sauvegardes peuvent être ignorées, et le temps entre les sauvegardes pour une seule base de données peut être supérieur au temps d’intervalle de sauvegarde configuré, ce qui peut avoir un impact négatif sur votre objectif de point de restauration.

Configurer de nouvelles machines virtuelles

Utilisez le portail Azure pour configurer la sauvegarde automatisée quand vous créez une machine SQL Server 2016 ou version ultérieure dans le modèle de déploiement Resource Manager.

Sous l’onglet Paramètres SQL Server, sélectionnez Activer sous Sauvegarde automatisée. Quand vous activez la sauvegarde automatisée, vous pouvez configurer les paramètres suivants :

  • Période de conservation des sauvegardes (jusqu’à 90 jours)
  • Compte de stockage et conteneur de stockage à utiliser pour les sauvegardes
  • Option de chiffrement et mot de passe pour les sauvegardes
  • Sauvegarde des bases de données système
  • Configuration de la planification de sauvegarde

Pour chiffrer la sauvegarde, sélectionnez Activer. Spécifiez ensuite le mot de passe. Azure crée un certificat pour chiffrer les sauvegardes et utilise le mot de passe pour protéger ce certificat.

Choisissez Sélectionner un conteneur de stockage pour spécifier le conteneur dans lequel vous voulez stocker vos sauvegardes.

Par défaut, la planification est définie automatiquement, mais vous pouvez créer votre propre planification en sélectionnant Manuel, ce qui vous permet de configurer la fréquence de sauvegarde, la fenêtre de sauvegarde et la fréquence de sauvegarde du fichier journal en minutes.

La capture d’écran suivante du portail Azure montre les paramètres de Sauvegarde automatisée quand vous créez une machine virtuelle SQL Server.

Capture d'écran de la configuration de Sauvegarde automatisée dans le portail Azure.

Configurer des machines virtuelles existantes

Pour les machines virtuelles SQL Server existantes, accédez à la ressource Machines virtuelles SQL, puis sélectionnez Sauvegardes pour configurer vos sauvegardes automatisées.

Sélectionnez Activer pour configurer les paramètres de sauvegarde automatisée.

Vous pouvez configurer la période de conservation (jusqu’à 90 jours), le conteneur du compte de stockage dans lequel vous souhaitez stocker vos sauvegardes ainsi que le chiffrement et la planification de sauvegarde. Par défaut, la planification est automatisée.

Capture d'écran de Sauvegarde automatisée pour les ordinateurs virtuels existants dans le portail.

Si vous voulez définir votre propre planification de sauvegarde, sélectionnez Manuel et configurez la fréquence des sauvegardes, l’intervalle de la sauvegarde de fichier journal en minutes et indiquez si vous souhaitez que les bases de données système soient sauvegardées.

Capture d'écran de sélection du manuel pour configurer votre planification de sauvegarde.

Quand vous avez terminé, sélectionnez le bouton Appliquer en bas de la page des paramètres de Sauvegarde pour enregistrer vos modifications.

Si vous activez la sauvegarde automatisée pour la première fois, Azure configure l’extension SQL Server IaaS Agent en arrière-plan. Pendant ce temps, le portail Azure n’indiquera peut-être pas que la sauvegarde automatisée est configurée. Patientez quelques minutes jusqu’à ce que l’agent soit installé et configuré. Le portail Azure reflète alors les nouveaux paramètres.

Configurer avec PowerShell

Vous pouvez utiliser PowerShell pour configurer une sauvegarde automatisée. Avant de commencer, vous devez :

Notes

Cet article utilise le module Azure Az PowerShell, qui est le module PowerShell recommandé pour interagir avec Azure. Pour démarrer avec le module Az PowerShell, consulter Installer Azure PowerShell. Pour savoir comment migrer vers le module Az PowerShell, consultez Migrer Azure PowerShell depuis AzureRM vers Az.

Installer l’extension IaaS SQL Server

Si vous avez configuré une machine virtuelle SQL Server à partir du portail Azure, l’extension IaaS SQL Server devrait déjà être installée. Vous pouvez déterminer si elle est installée pour votre machine virtuelle en appelant la commande Get-AzVM, puis en examinant la propriété Extensions.

$vmname = "yourvmname"
$resourcegroupname = "yourresourcegroupname"

(Get-AzVM -Name $vmname -ResourceGroupName $resourcegroupname).Extensions 

Si l’extension de l’agent IaaS SQL Server est installée, elle devrait être listée sous la forme « SqlIaaSAgent » ou « SQLIaaSExtension ». La propriété ProvisioningState de l’extension devrait également indiquer « Réussie ».

Si elle n’est pas installée ou n’a pas pu être provisionnée, vous pouvez l’installer à l’aide de la commande suivante. Outre le nom de la machine virtuelle et le groupe de ressources, vous devez également spécifier la région ( $region) où se trouve votre machine virtuelle.

$region = "EASTUS2"
Set-AzVMSqlServerExtension -VMName $vmname `
    -ResourceGroupName $resourcegroupname -Name "SQLIaasExtension" `
    -Version "2.0" -Location $region 

Vérifier les paramètres actuels

Si vous avez activé la sauvegarde automatisée lors de l’approvisionnement, vous pouvez utiliser PowerShell pour vérifier votre configuration actuelle. Exécutez la commande Get-AzVMSqlServerExtension et examinez la propriété AutoBackupSettings :

(Get-AzVMSqlServerExtension -VMName $vmname -ResourceGroupName $resourcegroupname).AutoBackupSettings

La sortie doit ressembler à ce qui suit :

Enable                      : True
EnableEncryption            : False
RetentionPeriod             : 30
StorageUrl                  : https://test.blob.core.windows.net/
StorageAccessKey            :  
Password                    : 
BackupSystemDbs             : False
BackupScheduleType          : Manual
FullBackupFrequency         : WEEKLY
FullBackupStartTime         : 2
FullBackupWindowHours       : 2
LogBackupFrequency          : 60

Si votre sortie montre que l’option Activer est définie sur False, vous devez activer la sauvegarde automatisée. La bonne nouvelle est que vous activez et configurez la sauvegarde automatisée de la même façon. Pour en savoir plus, consultez la section suivante.

Notes

Si vous vérifiez les paramètres immédiatement après une modification, les anciennes valeurs de configuration peuvent s’afficher. Patientez quelques minutes et revérifiez les paramètres pour vous assurer que vos modifications ont bien été appliquées.

Configurer une sauvegarde automatisée

Vous pouvez utiliser PowerShell pour activer la sauvegarde automatisée ainsi que pour modifier sa configuration et son comportement à tout moment.

Pour commencer, sélectionnez ou créez un compte de stockage pour les fichiers de sauvegarde. Le script suivant sélectionne un compte de stockage ou en crée un le cas échéant.

$vmname = "yourvmname"
$resourcegroupname = "yourresourcegroupname"
$storage_accountname = "yourstorageaccount"
$storage_url = "https://yourstorageaccount.blob.core.windows.net/"

$storage = Get-AzStorageAccount -ResourceGroupName $resourcegroupname `
    -Name $storage_accountname -ErrorAction SilentlyContinue
If (-Not $storage)
    { $storage = New-AzStorageAccount -ResourceGroupName $resourcegroupname `
    -Name $storage_accountname -SkuName Standard_GRS -Location $region }

Notes

La sauvegarde automatisée ne prend pas en charge le stockage des sauvegardes dans un stockage Premium, mais elle peut effectuer des sauvegardes à partir de disques de machines virtuelles qui utilisent le stockage Premium.

Si vous souhaitez utiliser un conteneur personnalisé dans le compte de stockage pour les sauvegardes, utilisez le script suivant pour vérifier la présence du conteneur ou créez-le s’il n’existe pas.

$storage_container = "backupcontainer"

New-AzStorageContainer -Name $storage_container -Context $storage.Context

if (!(Get-AzStorageAccount -StorageAccountName $storage_accountname -ResourceGroupName $resourcegroupname | Get-AzStorageContainer | Where-Object { $_.Name -eq $storage_container })){ `
	New-AzStorageContainer -Name $storage_container -Context $storage.Context `
} `
 else `
{ `
	Write-Warning "Container $storage_container already exists." `
}

Utilisez ensuite le script suivant pour obtenir la clé d’accès au compte de stockage :

$accesskey = (Get-AzStorageAccountKey -ResourceGroupName $resourcegroupname  -Name $storage_accountname)[0].value

Utilisez ensuite la commande Update-AzSqlVM pour activer et configurer les paramètres de sauvegarde automatisée afin de stocker les sauvegardes dans le compte de stockage Azure. Dans cet exemple, les sauvegardes sont définies pour être conservées pendant 10 jours. Les sauvegardes de bases de données système sont activées. Les sauvegardes complètes sont programmées tous les samedis (hebdomadaires) avec une fenêtre temporelle commençant à 20:00 pour une durée de deux heures. Les sauvegardes de journaux sont planifiées pour être effectuées toutes les 30 minutes.

Update-AzSqlVM -ResourceGroupName $resourcegroupname -Name $vmname -AutoBackupSettingEnable `
-AutoBackupSettingBackupScheduleType Manual `
-AutoBackupSettingFullBackupFrequency Weekly 
-AutoBackupSettingDaysOfWeek Saturday `
-AutoBackupSettingFullBackupStartTime 20 `
-AutoBackupSettingFullBackupWindowHour 2 `
-AutoBackupSettingStorageAccessKey $accesskey `
-AutoBackupSettingStorageAccountUrl $storage_url `
-AutoBackupSettingRetentionPeriod 10 `
-AutoBackupSettingLogBackupFrequency 30 `
-AutoBackupSettingStorageContainerName $storage_container `
-AutoBackupSettingBackupSystemDb

L’installation et la configuration de l’agent IaaS de SQL Server peuvent prendre plusieurs minutes.

Pour activer le chiffrement, modifiez le script précédent pour communiquer le paramètre AutoBackupSettingEnableEncryption associé à un mot de passe (chaîne sécurisée), au paramètre -AutoBackupSettingPassword. Le script suivant active les paramètres de sauvegarde automatisée dans l’exemple précédent et ajoute le chiffrement.

$password = "r@ndom Va1ue"
$encryptionpassword = $password | ConvertTo-SecureString -AsPlainText -Force  

Update-AzSqlVM -ResourceGroupName $resourcegroupname -Name $vmname -AutoBackupSettingEnable `
-AutoBackupSettingBackupScheduleType Manual `
-AutoBackupSettingFullBackupFrequency Weekly `
-AutoBackupSettingDaysOfWeek Saturday `
-AutoBackupSettingFullBackupStartTime 20 `
-AutoBackupSettingFullBackupWindowHour 2 `
-AutoBackupSettingStorageAccessKey $accesskey `
-AutoBackupSettingStorageAccountUrl $storage_url `
-AutoBackupSettingRetentionPeriod 10 `
-AutoBackupSettingLogBackupFrequency 30 `
-AutoBackupSettingEnableEncryption `
-AutoBackupSettingPassword $encryptionpassword `
-AutoBackupSettingStorageContainerName $storage_container `
-AutoBackupSettingBackupSystemDb

Pour confirmer que vos paramètres ont été appliqués, vérifiez la configuration de la sauvegarde automatisée.

Désactiver la sauvegarde automatisée

Pour désactiver la sauvegarde automatisée, exécutez le même script avec le paramètre -AutoBackupSettingEnable défini sur $false dans la commande Update-AzSqlVM. En définissant la valeur sur $false, la fonctionnalité est désactivée. À l’instar de l’installation, la désactivation de la sauvegarde automatisée peut prendre plusieurs minutes.

Update-AzSqlVM -ResourceGroupName $resourcegroupname -Name $vmname -AutoBackupSettingEnable:$false

Exemple de script

Le script suivant fournit un ensemble de variables que vous pouvez personnaliser afin d’activer et de configurer la sauvegarde automatisée pour votre machine virtuelle. Dans votre cas, vous devrez peut-être personnaliser le script selon vos besoins. Par exemple, vous devrez apporter des modifications si vous souhaitez désactiver la sauvegarde des bases de données système ou activer le chiffrement.

$vmname = "yourvmname"
$resourcegroupname = "yourresourcegroupname"
$region = "Azure region name such as EASTUS2"
$storage_accountname = "yourstorageaccount"
$storage_url = "https://yourstorageaccount.blob.core.windows.net/"
$retentionperiod = 10
$backupscheduletype = "Manual"
$fullbackupfrequency = "Weekly"
$fullbackupdayofweek = "Saturday"
$fullbackupstarthour = "20"
$fullbackupwindow = "2"
$logbackupfrequency = "30"

# ResourceGroupName is the resource group which is hosting the VM where you are deploying the SQL Server IaaS Extension 

Set-AzVMSqlServerExtension -VMName $vmname `
    -ResourceGroupName $resourcegroupname -Name "SQLIaasExtension" `
    -Version "2.0" -Location $region

# Creates/use a storage account to store the backups

$storage = Get-AzStorageAccount -ResourceGroupName $resourcegroupname `
    -Name $storage_accountname -ErrorAction SilentlyContinue
If (-Not $storage)
    { $storage = New-AzStorageAccount -ResourceGroupName $resourcegroupname `
    -Name $storage_accountname -SkuName Standard_GRS -Location $region }

# Creates/uses a custom storage account container

$storage_container = "yourbackupcontainer"

if (!(Get-AzStorageAccount -StorageAccountName $storage_accountname -ResourceGroupName $resourcegroupname | Get-AzStorageContainer | Where-Object { $_.Name -eq $storage_container })){ `
	New-AzStorageContainer -Name $storage_container -Context $storage.Context `
} `
 else `
{ `
	Write-Warning "Container $storage_container already exists." `
}

# Get storage account access key
$accesskey = (Get-AzStorageAccountKey -ResourceGroupName $resourcegroupname  -Name $storage_accountname)[0].value

# Configure Automated Backup settings

Update-AzSqlVM -ResourceGroupName $resourcegroupname -Name $vmname -AutoBackupSettingEnable `
-AutoBackupSettingBackupScheduleType $backupscheduletype `
-AutoBackupSettingFullBackupFrequency $fullbackupfrequency `
-AutoBackupSettingDaysOfWeek $fullbackupdayofweek `
-AutoBackupSettingFullBackupStartTime $fullbackupstarthour `
-AutoBackupSettingFullBackupWindowHour $fullbackupwindow `
-AutoBackupSettingStorageAccessKey $accesskey `
-AutoBackupSettingStorageAccountUrl $storage_url `
-AutoBackupSettingRetentionPeriod $retentionperiod `
-AutoBackupSettingLogBackupFrequency $logbackupfrequency `
-AutoBackupSettingStorageContainerName $storage_container `
-AutoBackupSettingBackupSystemDb

Sauvegarde avec des certificats de chiffrement

Si vous décidez de chiffrer vos sauvegardes, un certificat de chiffrement est généré et enregistré dans le même compte de stockage que les sauvegardes. Dans ce scénario, vous devez également saisir un mot de passe qui sera utilisé pour protéger les certificats de chiffrement utilisés pour chiffrer et déchiffrer vos sauvegardes. Cette protection vous permet de ne pas être inquiet au sujet de vos sauvegardes au-delà de la configuration de cette caractéristique, et vous garantit également que vos sauvegardes sont sécurisées.

Lorsque le chiffrement de sauvegarde est activé, nous vous recommandons vivement de déterminer si le certificat de chiffrement a été correctement créé et chargé pour garantir la restauration de vos bases de données. Vous pouvez le faire en créant immédiatement une base de données et en vérifiant que les certificats de chiffrement et les données ont été correctement sauvegardés dans le conteneur nouvellement créé. Cette option montre que tout a été configuré correctement et qu'aucune anomalie n'a eu lieu.

Si le certificat n'a pas pu être chargé pour une raison quelconque, vous pouvez utiliser le gestionnaire de certificat pour exporter le certificat et l'enregistrer. Toutefois, vous ne souhaitez pas l'enregistrer sur le même ordinateur virtuel, car cela ne garantit pas que vous avez accès au certificat lorsque l'ordinateur virtuel est en panne. Pour savoir si le certificat a été sauvegardé correctement après modification ou création de la configuration de Sauvegarde automatisée, vous pouvez vérifier les journaux des événements dans l'ordinateur virtuel, et en cas d'échec, vous verrez ce message d'erreur :

Capture d'écran présentant le message d'erreur dans le journal d'événements dans l'ordinateur virtuel.

Si les certificats ont été sauvegardés correctement, ce message s'affiche dans les journaux d'événements :

Capture d'écran de la sauvegarde réussie du certificat de chiffrement dans les journaux d'événements.

En règle générale, il est recommandé de vérifier de temps en temps l'état de vos sauvegardes. Pour pouvoir restaurer vos sauvegardes, procédez comme suit :

  1. Confirmez que vos certificats de chiffrement ont été sauvegardés et que vous vous souvenez de votre mot de passe. Si vous ne le faites pas, vous ne pourrez pas déchiffrer et restaurer vos sauvegardes. Si, pour une raison quelconque, vos certificats n'ont pas été correctement sauvegardés, vous pouvez effectuer cette opération manuellement en exécutant la requête T-SQL suivante :

    BACKUP MASTER KEY TO FILE = <file_path> ENCRYPTION BY PASSWORD = <password>
    BACKUP CERTIFICATE [AutoBackup_Certificate] TO FILE = <file_path> WITH PRIVATE KEY (FILE = <file_path>, ENCRYPTION BY PASSWORD = <password>)
    
  2. Vérifiez que vos fichiers de sauvegarde sont chargés avec au moins 1 sauvegarde complète. Les erreurs pouvant survenir, vous devez vous assurer de toujours disposer d'au moins une sauvegarde complète avant de supprimer votre ordinateur virtuel, ou au cas où votre ordinateur virtuel serait endommagé, afin de savoir si vous pouvez toujours accéder à vos données. Vous devez vous assurer que la sauvegarde dans le stockage est sécurisée et récupérable avant de supprimer les disques de données de votre ordinateur virtuel.

Surveillance

Pour superviser la sauvegarde automatisée sur SQL Server 2016 et versions ultérieures, vous avez deux possibilités principales. Étant donné que la sauvegarde automatisée utilise la fonctionnalité de sauvegarde gérée de SQL Server, les mêmes techniques de surveillance s’appliquent.

Vous pouvez d’abord interroger l’état en appelant msdb.managed_backup.sp_get_backup_diagnostics. Vous pouvez aussi interroger la fonction table msdb.managed_backup.fn_get_health_status.

Une autre possibilité consiste à tirer parti de la fonctionnalité intégrée de messagerie de base de données pour les notifications.

  1. Appelez la procédure stockée msdb.managed_backup.sp_set_parameter pour affecter une adresse e-mail au paramètre SSMBackup2WANotificationEmailIds.
  2. Activez SendGrid pour envoyer les e-mails à partir de la machine virtuelle Azure.
  3. Utilisez le nom d’utilisateur et le serveur SMTP pour configurer la messagerie de base de données. Vous pouvez configurer la messagerie de base de données dans SQL Server Management Studio ou à l’aide de commandes Transact-SQL. Pour plus d’informations, consultez Messagerie de base de données.
  4. Configurez SQL Server Agent pour qu’il utilise la messagerie de base de données.
  5. Vérifiez que le port SMTP est autorisé dans le pare-feu local de la machine virtuelle et le groupe de sécurité réseau pour la machine virtuelle.

Problèmes connus

Tenez compte de ces problèmes connus quand vous utilisez la fonctionnalité de sauvegarde automatisée.

Impossible d’activer la sauvegarde automatisée dans le portail Azure

Le tableau suivant répertorie les solutions possibles si vous rencontrez des problèmes lors de l’activation de la sauvegarde automatisée à partir du portail Azure :

Symptôme Solution
Échec de l’activation des sauvegardes automatisées si votre extension IaaS est en état d’échec Réparez l’extension SQL IaaS Agent si elle est en état d’échec.
Échec de l’activation de la sauvegarde automatisée si vous disposez de centaines de bases de données Il s’agit d’une limitation connue de l’extension SQL IaaS Agent. Pour contourner ce problème, vous pouvez activer la sauvegarde managée directement au lieu d’utiliser l’extension SQL IaaS Agent pour configurer la sauvegarde automatisée.
Échec de l’activation de la sauvegarde automatisée en raison de problèmes de métadonnées Arrêtez le service SQL IaaS Agent. Exécutez la commande T-SQL : use msdb exec autoadmin_metadata_delete. Démarrez le service SQL IaaS Agent et essayez de réactiver la sauvegarde automatisée à partir du portail Azure.
Activation des sauvegardes automatisées pour FCI Les sauvegardes à l’aide de points de terminaison privés ne sont pas prises en charge. Utilisez l’URI de compte de stockage complet pour votre sauvegarde.
Sauvegarder plusieurs instances SQL en utilisant la sauvegarde automatisée La sauvegarde automatisée prend en charge une seule instance SQL actuellement. Si vous avez plusieurs instances nommées et l’instance par défaut, la sauvegarde automatisée utilise l’instance par défaut. Si vous avez plusieurs instances nommées et aucune instance par défaut, l’activation de la sauvegarde automatisée échoue.
La sauvegarde automatisée ne peut pas être activée en raison du compte et des autorisations Vérifiez les points suivants :
– SQL Server Agent est en cours d’exécution.
– Le compte NT Service\SqlIaaSExtensionQuery dispose des autorisations appropriées pour la fonctionnalité de sauvegarde automatisée à la fois dans SQL Server et pour la ressource Machines virtuelles SQL dans le portail Azure.
– Le compte SA n’a pas été renommé, bien que sa désactivation soit acceptable.
Échec de la sauvegarde automatisée pour SQL 2016 + Autoriser l’accès public aux blobs est activé sur le compte de stockage. Il s’agit d’une solution de contournement temporaire à un problème connu.

Erreurs courantes liées aux sauvegardes automatisées ou managées

Le tableau suivant répertorie les erreurs et solutions possibles liées aux sauvegardes automatisées :

Symptôme Solution
Échec de la sauvegarde automatisée/managée en raison d’erreurs de connectivité au compte de stockage ou de délai d’expiration Vérifiez que le groupe de sécurité réseau (NSG) du réseau virtuel et le Pare-feu Windows ne bloquent pas les connexions sortantes de la machine virtuelle vers le compte de stockage sur le port 443.
Échec de la sauvegarde automatisée/managée en raison de la sollicitation de la mémoire ou des E/S Vérifiez si vous pouvez augmenter la mémoire maximale du serveur et/ou redimensionner le disque/la machine virtuelle si la limite d’E/S ou de machine virtuelle est insuffisante. Si vous utilisez un groupe de disponibilité, envisagez de décharger vos sauvegardes vers le réplica secondaire.
Échec de la sauvegarde automatisée après le renommage du serveur Si vous avez renommé le nom d’hôte de votre machine, vous devez également renommer le nom d’hôte dans SQL Server.
Erreur : L’opération a échoué en raison d’une erreur interne. L’argument ne doit pas être une chaîne vide.\r\nNom du paramètre : sas Token Veuillez réessayer ultérieurement Cela est probablement dû au fait que le service SQL Server Agent ne dispose pas des autorisations d’emprunt d’identité correctes. Modifiez le service SQL Server Agent pour utiliser un autre compte pour résoudre ce problème.
Erreur : La gestion de sauvegarde de SQL Server vers Microsoft Azure ne peut pas configurer les paramètres de sauvegarde par défaut pour l’instance SQL Server, car l’URL de conteneur n’était pas valide. Il est possible aussi que vos informations d’identification SAS ne soient pas valides. Cette erreur peut survenir si vous avez un grand nombre de bases de données. Utilisez la sauvegarde managée plutôt que la sauvegarde automatisée.
Échec du travail de sauvegarde automatisée après le redémarrage de la machine virtuelle Vérifiez que le service SQL Agent est opérationnel.
La sauvegarde managée échoue par intermittence/Erreur : Le délai d’exécution a expiré. Il s’agit d’un problème connu résolu dans CU18 pour SQL Server 2019 et [KB4040376] pour SQL Server 2014 à 2017.
Erreur : le serveur distant a retourné une erreur : (403) Interdit Réparez l’extension SQL IaaS Agent.
Erreur 3202 : échec de l’écriture sur le compte de stockage 13 (les données ne sont pas valides) Supprimez la stratégie d’objet blob immuable sur le conteneur de stockage et assurez-vous que le compte de stockage utilise TLS 1.0 minimum.

Échec de la désactivation de la sauvegarde automatisée ou de la sauvegarde managée

Le tableau suivant répertorie les solutions possibles si vous rencontrez des problèmes lors de la désactivation de la sauvegarde automatisée à partir du portail Azure :

Symptôme Solution
La désactivation des sauvegardes automatisées échoue si votre extension IaaS est en état d’échec Réparez l’extension SQL IaaS Agent si elle est en état d’échec.
Échec de la désactivation d’une sauvegarde automatisée en raison de problèmes de métadonnées Arrêtez le service SQL IaaS Agent. Exécutez la commande T-SQL : use msdb exec autoadmin_metadata_delete. Démarrez le service SQL IaaS Agent et essayez de désactiver la sauvegarde automatisée à partir du portail Azure.
Impossible de désactiver la sauvegarde automatisée en raison du compte et des autorisations Vérifiez les points suivants :
– SQL Server Agent est en cours d’exécution.
– Le compte NT Service\SqlIaaSExtensionQuery dispose des autorisations appropriées pour la fonctionnalité de sauvegarde automatisée à la fois dans SQL Server et pour la ressource Machines virtuelles SQL dans le portail Azure.
– Le compte SA n’a pas été renommé, bien que sa désactivation soit acceptable.

Je souhaite savoir quel service ou quelle application prend en charge les sauvegardes SQL Server

  • Dans SQL Server Management Studio (SSMS) Explorateur d’objets, cliquez avec le bouton droit sur la base de données > Sélectionnez Rapports>Rapports standard>Événements de sauvegarde et de restauration. Dans le rapport, vous pouvez développer la section Opérations de sauvegarde réussies pour afficher l’historique de sauvegarde.
  • Si plusieurs sauvegardes sur Azure ou sur un appareil virtuel sont affichées, vérifiez si vous utilisez Sauvegarde Azure pour sauvegarder des bases de données SQL individuelles ou si vous prenez une capture instantanée de machine virtuelle sur un appareil virtuel, qui utilise le compte NT Authority/SYSTEM. Si ce n’est pas le cas, vérifiez la console Services Windows (services.msc) pour identifier les applications tierces qui peuvent effectuer des sauvegardes.

Étapes suivantes

La sauvegarde automatisée configure une sauvegarde managée sur les machines virtuelles Azure. Il est donc important de passer en revue la documentation relative à la sauvegarde gérée pour comprendre son comportement et ses implications.

Vous trouverez des conseils supplémentaires pour la sauvegarde et la restauration de SQL Server sur les machines virtuelles Azure dans l'article suivant : Sauvegarde et restauration pour SQL Server sur des machines virtuelles Azure.

Pour plus d’informations sur les autres tâches d’automatisation disponibles, voir Extension de l’agent IaaS SQL Server.

Pour plus d’informations sur l’exécution de SQL Server sur des machines virtuelles Azure, consultez Vue d’ensemble de SQL Server sur les machines virtuelles Azure.