À propos de la sauvegarde SQL Server sur des machines virtuelles Azure

Sauvegarde Azure offre une solution spécialisée basée sur un flux pour sauvegarder SQL Server s’exécutant dans des machines virtuelles Machines virtuelles Azure. Cette solution s’aligne sur les avantages de la sauvegarde Azure : sauvegarde sans infrastructure, conservation à long terme et gestion centralisée. Elle offre par ailleurs les avantages suivants, en particulier pour SQL Server :

  • Sauvegardes de charges de travail prenant en charge tous les types de sauvegarde : complète, différentielle et de fichier journal
  • RPO (objectif de point de récupération) de 15 minutes avec des sauvegardes de fichier journal fréquentes
  • Récupération à un point précis dans le temps jusqu'à la seconde près
  • Sauvegarde et restauration de niveaux de base de données individuels

Pour voir les scénarios de sauvegarde et de restauration que nous prenons en charge, consultez la matrice de prise en charge. Pour les questions courantes, consultez les questions fréquemment posées.

Sauvegarde par instantané pour les instances SQL sur machine virtuelle Azure (préversion)

Sauvegarde Azure fournit une solution de sauvegarde SQL basée sur des instantanés qui améliore les performances des bases de données volumineuses. Vous pouvez utiliser des captures instantanées de disque pour les restaurations rapides et les sauvegardes fréquentes des journaux pour réduire la perte de données, ce qui vous permet d’atteindre un objectif de délai de récupération (RTO) plus faible et d’améliorer l’objectif de point de récupération (RPO).

Note

La sauvegarde d’instantané pour les instances de SQL Server est disponible en préversion. Les sauvegardes basées sur des captures instantanées vous permettent de protéger les bases de données volumineuses avec des performances améliorées et d’obtenir des restaurations plus rapides à partir du niveau de récupération instantanée.

Les sauvegardes d’instantanés offrent les avantages suivants lors de la sauvegarde de bases de données volumineuses :

  • Instantané au niveau de l’instance : crée des instantanés de sauvegarde au niveau de l’instance SQL et permet de sélectionner plusieurs bases de données en une seule opération. Restaurez l’ensemble de l’instance ou des bases de données individuelles en fonction des besoins.

  • Impact minimal sur le serveur source : Sauvegarde Azure met brièvement la base de données au repos pour capturer un snapshot cohérent au niveau de l’application. Bien que la base de données ne soit mise en pause que pendant quelques secondes, la création des captures instantanées et leur disponibilité dans le niveau opérationnel s’achèvent en quelques minutes. Contrairement aux sauvegardes de streaming, les ressources de la machine source ne sont pas consommées pendant une longue durée.

  • Économique : optimise le coût de stockage avec des instantanés incrémentiels.

  • RTO amélioré : utilise des restaurations plus rapides à partir du niveau instantané/opérationnel.

  • RPO faible : associe les sauvegardes de journaux à des instantanés pour réduire le RPO et permettre des restaurations à un instant précis.

Découvrez les scénarios et limitations pris en charge pour la sauvegarde SQL à l’aide de captures instantanées dans la matrice de prise en charge. Pour sauvegarder un instantané d’instance SQL Server dans une machine virtuelle Azure à l’aide du portail Azure, consultez cet article.

Processus de sauvegarde pour la base de données SQL Server

Cette solution utilise les API natives SQL pour effectuer des sauvegardes de vos bases de données SQL.

  • Une fois que vous avez spécifié la machine virtuelle SQL Server que vous souhaitez protéger et interroger pour les bases de données qu’il contient, Sauvegarde Azure service installe une extension de sauvegarde de charge de travail sur la machine virtuelle par le nom AzureBackupWindowsWorkload extension.

  • Cette extension se compose d’un coordinateur et d’un plug-in SQL. Bien que le coordinateur soit responsable du déclenchement de flux de travail pour différentes opérations telles que la configuration de la sauvegarde, de la sauvegarde et de la restauration, le plug-in est responsable du flux de données réel.

  • Pour pouvoir découvrir les bases de données sur cette machine virtuelle, Sauvegarde Azure crée le compte NT SERVICE\AzureWLBackupPluginSvc. Ce compte est utilisé pour la sauvegarde et la restauration. Il doit disposer d’autorisations d’administrateur système SQL. Le compte NT SERVICE\AzureWLBackupPluginSvc est un compte de service virtuel et ne nécessite donc pas de gestion des mots de passe. Le service de sauvegarde Azure utilise le compte NT AUTHORITY\SYSTEM pour la découverte et la recherche des bases de données. Ce compte doit donc être une connexion publique sur SQL. Si vous n’avez pas créé la machine virtuelle SQL Server à partir de la Place de marché Azure, il se peut que vous receviez une erreur UserErrorSQLNoSysadminMembership. Si le message d’erreur s’affiche, suivez ces instructions.

  • Lorsque vous déclenchez la configuration de la protection sur les bases de données sélectionnées, le service de sauvegarde configure le coordinateur avec les planifications de sauvegarde et d’autres détails de stratégie, ce que l’extension met en cache localement sur la machine virtuelle.

  • À l’heure planifiée, le coordinateur communique avec le plug-in et commence à diffuser en continu les données de sauvegarde à partir du serveur SQL à l’aide de VDI(Virtual Device Interface).

  • Le plug-in envoie les données directement au coffre Recovery Services, ce qui élimine la nécessité d’un emplacement intermédiaire. Le service Sauvegarde Azure chiffre et stocke les données dans les comptes de stockage.

  • Une fois le transfert de données terminé, le coordinateur confirme la validation avec le service de sauvegarde.

    Architecture de sauvegarde SQL

Processus de sauvegarde des instantanés d’instances SQL Server

Sauvegarde Azure utilise des instantanés incrémentiels de disque managé pour protéger les bases de données SQL dans Azure machines virtuelles. La stratégie de sauvegarde régit la création d’instantanés, la rétention et le comportement de journalisation des sauvegardes afin de permettre des restaurations rapides et une récupération à un instant donné.

Le flux de sauvegarde et de restauration décrit une séquence logique et de bout en bout d’opérations effectuées par Sauvegarde Azure qui incluent les opérations suivantes :

  • Crée des instantanés incrémentiels de disque managé en fonction de la stratégie de sauvegarde définie par l’utilisateur. Actuellement, le service Sauvegarde Azure prend en charge un instantané toutes les 6 heures ou ultérieures. Vous pouvez configurer les sauvegardes de journal toutes les 15 minutes ou ultérieures.

  • Effectue des sauvegardes par instantané au niveau de l’instance SQL. Vous pouvez sélectionner jusqu’à 12 bases de données par opération d’instantané.

  • Capture un instantané cohérent avec l’application sur toutes les bases de données sélectionnées en alignant les disques sous-jacents pour l’ensemble combiné de bases de données.

  • Conserve les instantanés dans l’abonnement Azure dans un groupe de ressources spécifié pendant une durée définie par l’utilisateur (jusqu’à 7 jours). Sauvegarde Azure déplace ensuite les données vers le coffre Recovery Services en tant que sauvegarde de coffre pour une rétention à long terme en fonction de la stratégie configurée.

  • Transmet en continu les sauvegardes du journal au niveau de la base de données vers le coffre. Pendant la restauration, le service restaure l’instantané sur une autre machine virtuelle et applique des sauvegardes de journaux pour obtenir une récupération à un point dans le temps.

Découvrez comment sauvegarder un instantané d’instance SQL Server dans une machine virtuelle Azure à l’aide du portail Azure (préversion).

Conditions préalables pour la sauvegarde SQL Server

Avant de démarrer la sauvegarde SQL Server, passez en revue les conditions préalables suivantes :

  1. Vérifier qu’une instance SQL Server s’exécute dans Azure. Vous pouvez rapidement créer une instance SQL Server dans la Place de marché.
  2. Consultez les sections Considérations relatives aux fonctionnalités et Prise en charge de scénarios.
  3. Consulter les questions les plus fréquentes sur ce scénario.

Définir des autorisations de machine virtuelle

Lorsque vous exécutez la découverte sur un SQL Server, Sauvegarde Azure effectue les actions suivantes :

  • Ajoute l’extension AzureBackupWindowsWorkload.
  • Crée un compte NT SERVICE\AzureWLBackupPluginSvc pour découvrir les bases de données sur la machine virtuelle. Ce compte est utilisé pour la sauvegarde et la restauration, et doit disposer d’autorisations d’administrateur système SQL.
  • Découvre les bases de données en cours d’exécution sur une machine virtuelle ; Sauvegarde Azure utilise le compte NT AUTHORITY\SYSTEM. Ce compte doit être un compte public sur SQL.

Si vous n’avez pas créé la machine virtuelle SQL Server dans la Place de marché Azure, ou si vous êtes sur SQL 2008 ou 2008 R2, il se peut que vous receviez une erreur UserErrorSQLNoSysadminMembership.

Pour accorder des autorisations à SQL 2008 et 2008 R2 s’exécutant sur Windows 2008 R2, consultez cette section.

Pour toutes les autres versions, affectez les autorisations en procédant comme suit :

  1. Utilisez un compte avec SQL Server sysadmin autorisations de connexion à SQL Server Management Studio (SSMS). À moins que vous ayez besoin d’autorisations spéciales, l’authentification Windows doit fonctionner.

  2. Dans le SQL Server, ouvrez le dossier Security/Logins.

    Ouvrir le dossier Security/Logins pour afficher les comptes

  3. Cliquez avec le bouton droit sur le dossier Logins et sélectionnez Nouvelle connexion. Dans Nouvelle connexion, sélectionnez Rechercher.

    Dans la boîte de dialogue Connexion - Nouveau, sélectionnez Rechercher

  4. Le compte de service virtuel Windows NT SERVICE\AzureWLBackupPluginSvc a été créé pendant la phase d’inscription de la machine virtuelle et de découverte SQL. Entrez le nom du compte, comme indiqué dans Entrez le nom de l’objet à sélectionner. Sélectionnez Vérifier les noms pour résoudre le nom. Sélectionnez OK.

    Cliquer sur Vérifier les noms pour résoudre le nom de service inconnu

  5. Sur les rôles serveur, vérifiez que le rôle sysadmin est sélectionné. Sélectionnez OK. Les autorisations requises doivent désormais exister.

    S’assurer que le rôle serveur administrateur système est sélectionné

    Si l’instance SQL Server fait partie d’un groupe de disponibilité (AG)Always-On, vérifiez que le compte NT AUTHORITY\SYSTEM dispose de l’autorisation VIEW SERVER STATE activée.

    Capture d’écran montrant comment vérifier l’autorisation sur une instance SQL Server sélectionnée pour la sauvegarde.

  6. À présent, associez la base de données avec le coffre Recovery Services. Dans la liste Serveurs protégés du Portail Azure, cliquez avec le bouton droit sur le serveur en erreur>Redécouvrir les bases de données.

    Vérifier que le serveur dispose des autorisations appropriées

  7. Vérifiez la progression dans la zone Notifications. Lorsque les bases de données sélectionnées ont été détectées, un message de réussite s’affiche.

    Message Déploiement réussi

Note

Si plusieurs instances de SQL Server sont installées sur votre serveur SQL Server, vous devez ajouter l’autorisation sysadmin du compte NT Service\AzureWLBackupPluginSvc à toutes les instances SQL.

Attribuer des autorisations sysadmin SQL pour SQL 2008 et SQL 2008 R2

Pour ajouter NT AUTHORITY\SYSTEM et NT Service\AzureWLBackupPluginSvc connexions à l’instance SQL Server, procédez comme suit :

  1. Accédez à l’instance SQL Server dans l’Explorateur d’objets.

  2. Accédez à Sécurité>Connexions.

  3. Cliquez avec le bouton droit sur les connexions et sélectionnez Nouvelleconnexion de connexion à l’aide de SSMS

  4. Accédez à l’onglet Général et entrez NT AUTHORITY\SYSTEM comme nom de connexion.

    Nom de connexion pour SSMS

  5. Accédez à l’onglet Rôles de serveur et choisissez les rôles publics et sysadmin .

    Choix de rôles dans SSMS

  6. Accédez à État, sélectionnez Accorder pour Autorisation de se connecter au moteur de base de données, puis sélectionnez Activé pour Ouverture de session.

    Accorder des autorisations dans SSMS

  7. Sélectionnez OK.

  8. Pour ajouter le NT Service\AzureWLBackupPluginSvc connexion à l’instance SQL Server, répétez les étapes 1-7.

    Si l’identifiant de connexion existe déjà, vérifiez qu’il possède le rôle de serveur sysadmin et que, sous Status, l’option Accorder est sélectionnée pour l’autorisation de se connecter au moteur de base de données et que Connexion est défini sur Activé.

  9. Après avoir accordé l’autorisation, redécouvrez les bases de données dans le portail Azure, en accédant au coffre Recovery Services>Gérer>Infrastructure de sauvegarde>Charge de travail dans la machine virtuelle Azure.

    Redécouvrir les bases de données dans le portail Azure

Vous pouvez également automatiser l’attribution d’autorisations en exécutant les applets de commande suivantes en mode administrateur.

Note

Le nom d’instance a la valeur MSSQLSERVER par défaut. Modifiez l’argument de nom d’instance dans le script si nécessaire.

param(
    [Parameter(Mandatory=$false)]
    [string] $InstanceName = "MSSQLSERVER"
)
if ($InstanceName -eq "MSSQLSERVER")
{
    $fullInstance = $env:COMPUTERNAME   # In case it's the default SQL Server Instance
}
else
{
    $fullInstance = $env:COMPUTERNAME + "\" + $InstanceName   # In case of named instance
}
try
{
    sqlcmd.exe -S $fullInstance -Q "sp_addsrvrolemember 'NT Service\AzureWLBackupPluginSvc', 'sysadmin'" # Adds login with sysadmin permission if already not available
}
catch
{
    Write-Host "An error occurred:"
    Write-Host $_.Exception|format-list -force
}
try
{
    sqlcmd.exe -S $fullInstance -Q "sp_addsrvrolemember 'NT AUTHORITY\SYSTEM', 'sysadmin'" # Adds login with sysadmin permission if already not available
}
catch
{
    Write-Host "An error occurred:"
    Write-Host $_.Exception|format-list -force
}

Tarification de la sauvegarde d’instantanés d’instances de SQL Server dans des machines virtuelles Azure

La sauvegarde de SQL à l’aide d’une capture instantanée de machine virtuelle Azure engendre les frais suivants :

  • Les sauvegardes d’instantanés stockées dans un coffre Recovery Services sont facturées en fonction de la tarification Sauvegarde Azure.

  • Outre les frais d’instance protégée et le coût de stockage du coffre, Sauvegarde Azure entraîne des frais supplémentaires pour le stockage d’instantanés dans le niveau opérationnel.

  • Les captures instantanées de disque managé entraînent des frais en fonction de la tarification des captures instantanées de disque managé pendant la durée pendant laquelle elles sont conservées dans votre abonnement.

Étapes suivantes