Examiner une instance managée Azure SQL

Effectué

Même si de nombreuses organisations migrent au départ vers Azure avec des offres IaaS, l’offre de service PaaS (Platform as a Service) présente des avantages supplémentaires. Vous n’avez pas non plus besoin d’installer ni de corriger SQL Server, car le service s’en occupe. La vérification de cohérence et les sauvegardes font également partie du service managé, y compris des outils de sécurité et de performances qui sont dans les offres PaaS.

Azure SQL Managed Instance est une instance SQL Server complètement fonctionnelle qui est presque 100 % compatible avec votre écosystème local. Il inclut des fonctionnalités telles que SQL Agent, l’accès à tempdb, la requête inter-bases de données et le CLR (Common Language Runtime). Le service utilise la même infrastructure qu’Azure SQL Database et tous les avantages du service PaaS, tels que les sauvegardes automatiques, la mise à jour corrective automatique et la haute disponibilité intégrée.

Fonctionnalités Azure SQL Managed Instance

Azure SQL Managed Instance permet des chemins de migration faciles pour les applications existantes en autorisant les restaurations à partir de sauvegardes locales. Contrairement à Azure SQL Database, qui est conçu autour de structures de bases de données uniques, SQL Managed Instance fournit une instance SQL Server entière et permet ainsi d’accepter jusqu’à 100 bases de données et d’accéder aux bases de données système. SQL Managed Instance propose d’autres fonctionnalités qui ne sont pas disponibles dans Azure SQL Database, dont les requêtes entre bases de données, le CLR (Common Language Runtime) et, avec la base de données système msdb, l’utilisation de SQL Agent est autorisée.

Options

Deux niveaux de service sont disponibles lors de la création d’une instance Azure SQL Managed Instance et ils sont identiques au modèle vCore Azure SQL Database (l’instance managée est achetée avec le modèle vCore) : Critique pour l’entreprise et Usage général. Il existe des différences de fonctionnalités minimes entre les deux niveaux : les deux principales sont que Critique pour l’entreprise inclut OLTP en mémoire et offre une base de données secondaire accessible en lecture, ce qui n’est pas le cas avec le niveau Usage général. Les deux offrent les mêmes niveaux de disponibilité et permettent une configuration indépendante du stockage et du calcul.

La fonctionnalité de liaison offre une fonctionnalité hybride de réplication de bases de données des instances SQL Server sur Azure SQL Managed Instance. La fonctionnalité de liaison réplique les données à l’aide de groupes de disponibilité distribués qui sont dans la technologie de groupe de disponibilité Always On. Les enregistrements du journal des transactions sont répliqués dans le cadre de groupes de disponibilité distribués.

Les enregistrements du journal des transactions sur l’instance principale ne peuvent pas être tronqués tant qu’ils n’ont pas été répliqués sur l’instance secondaire. Les sauvegardes régulières du journal des transactions réduisent le risque d’épuisement de l’espace sur votre instance principale.

La fonctionnalité de liaison peut également être utilisée comme solution de reprise d’activité hybride, où vous pouvez basculer vos bases de données SQL Server hébergées n’importe où vers une base de données exécutée sur SQL Managed Instance. De même, vous pouvez utiliser la fonctionnalité de liaison pour fournir une base de données secondaire en lecture seule dans SQL Database SQL Managed Instance pour décharger des opérations en lecture seule intensives.

Pour plus d’informations sur la configuration de la fonctionnalité de liaison pour Azure SQL Managed Instance, consultez Préparer l’environnement pour la fonctionnalité de liaison - Azure SQL Managed Instance.

Pool d’instances (préversion)

Un pool d’instances offre un moyen économique de migrer des instances SQL Server plus petites vers le cloud. Lors de la migration vers Azure, au lieu de regrouper des bases de données plus petites en une instance managée plus grande, ce qui nécessite une planification supplémentaire de la gouvernance et de la sécurité, les pools d’instances vous permettent de préprovisionner vos ressources en fonction de l’ensemble de vos ressources et besoins de migration.

La fonctionnalité de pool d’instances offre une durée de déploiement rapide allant jusqu’à cinq minutes, ce qui est une bonne option pour les scénarios où la durée de déploiement est importante. De plus, toutes les instances d’un pool partagent la même machine virtuelle, et l’allocation totale d’adresses IP est indépendante du nombre d’instances déployées.

Pour savoir comment déployer un pool d’instances pour SQL Managed Instance, consultez Déployer Azure SQL Managed Instance sur un pool d’instances.

Haute disponibilité

Comme Azure SQL Managed Instance s’appuie sur le service PaaS, la haute disponibilité est intégrée au produit. Une instance SQL Managed Instance autonome offre un contrat de niveau de service (SLA) de 99,99 % qui garantit au plus 52,60 minutes de temps d’arrêt par an. L’architecture est la même que celle d’Azure SQL Database avec le niveau Usage général (qui utilise la réplication de stockage pour la disponibilité) et Critique pour l’entreprise (qui utilise plusieurs réplicas).

Sauvegardes

Les sauvegardes automatiques sont également configurées automatiquement pour Azure SQL Managed Instance. L’une des principales différences entre Azure SQL Managed Instance et Azure SQL Database est qu’avec MI, vous pouvez effectuer manuellement une sauvegarde de copie uniquement d’une base de données. Vous devez effectuer la sauvegarde sur une URL, car l’accès au stockage local n’est pas autorisé. Vous pouvez également configurer la conservation à long terme pour conserver des sauvegardes automatiques pendant 10 ans au maximum dans le stockage Blob Azure géoredondant.

Les sauvegardes de bases de données se produisent selon la même planification qu’avec Azure SQL Database. Ces planifications ne sont pas réglables.

  • Complète – Une fois par semaine
  • Différentielle – Toutes les 12 heures
  • Journal des transactions – Toutes les 5 à 10 minutes en fonction de l’utilisation du journal des transactions

La restauration d’une base de données sur une instance Azure SQL Managed Instance est également similaire au processus avec Azure SQL Database. Vous pouvez utiliser :

  • Portail Azure
  • PowerShell
  • Azure CLI

Toutefois, il existe certaines limitations lors de la restauration. Pour effectuer une restauration d’une instance vers une autre, les deux instances doivent se trouver dans le même abonnement Azure et dans la même région Azure. Vous ne pouvez pas non plus restaurer l’ensemble de l’instance managée, mais uniquement des bases de données individuelles dans SQL Managed Instance lui-même.

Comme avec Azure SQL Database, vous ne pouvez pas effectuer de restauration sur une base de données existante. Vous devez supprimer ou renommer la base de données existante avant de la restaurer à partir de la sauvegarde. Étant donné que SQL Managed Instance est une instance SQL Server entièrement fonctionnelle, vous pouvez exécuter une commande RESTORE alors que cela n’est pas possible avec Azure SQL Database. Toutefois, étant donné qu’il s’agit d’un service PaaS, il existe certaines limitations, telles que :

  • Vous devez restaurer à partir du point de terminaison d’une URL. Vous n’avez pas accès aux lecteurs locaux.
  • Vous pouvez utiliser les options suivantes (en plus de la spécification de la base de données) :
    • FILELISTONLY
    • HEADERONLY
    • LABELONLY
    • VERIFYONLY
  • Les fichiers de sauvegarde contenant plusieurs fichiers journaux ne peuvent pas être restaurés
  • Les fichiers de sauvegarde contenant plusieurs jeux de sauvegarde ne peuvent pas être restaurés
  • Les sauvegardes contenant In-Memory/FILESTREAM ne peuvent pas être restaurées

Par défaut, les bases de données d’une instance managée sont chiffrées en utilisant TDE (Transparent Data Encryption) avec une clé gérée par Microsoft. Pour effectuer une sauvegarde de copie uniquement lancée par l’utilisateur, vous devez désactiver TDE pour la base de données spécifique. Si une base de données est chiffrée, vous pouvez la restaurer, mais vous devrez vérifier que vous avez accès au certificat ou à la clé asymétrique qui a été utilisé pour chiffrer la base de données. Si vous ne disposez d’aucun de ces deux éléments, vous ne pourrez pas restaurer la base de données sur SQL Managed Instance.

Récupération d'urgence

Azure SQL Managed Instance offre des groupes de basculement automatique comme moyen d’implémenter la reprise d’activité. Cette fonctionnalité protège l’ensemble de l’instance managée et toutes les bases de données qu’elle contient, et pas seulement des bases de données spécifiques. Ce processus réplique de manière asynchrone les données entre Azure SQL Managed Instance et un réplica secondaire. Toutefois, il est actuellement limité à la région Azure associée de la copie primaire et un seul réplica est autorisé.

Comme Azure SQL Database, les groupes de basculement automatique offrent des points de terminaison d’écouteur en lecture-écriture et en lecture seule, ce qui facilite la gestion des chaînes de connexion. En cas de basculement, les chaînes de connexion d’application sont automatiquement routées vers l’instance appropriée. Alors qu’ils sont relativement cohérents avec Azure SQL Database, ces points de terminaison suivent un format légèrement différent, le format <fog-name>.zone_id.database.windows.net whereas Azure SQL Database is in the <fog-name>.secondary.database.windows.net.

Chaque instance managée, primaire et secondaire, doit se trouver dans la même zone DNS. Ce positionnement permet de garantir que le même certificat à plusieurs domaines peut être utilisé pour l’authentification de la connexion cliente entre l’une des deux instances du même groupe de basculement. Vous pouvez spécifier un « partenaire de zone DNS » par le biais de différentes méthodes, comme le portail Azure, PowerShell ou Azure CLI.

Pour découvrir les nouvelles fonctionnalités Azure SQL Managed Instance, consultez Nouveautés d’Azure SQL Managed Instance.