Configurer Azure SQL Database et Azure SQL Managed Instance

Effectué

Vous avez vérifié que votre déploiement a réussi et que vous savez quelles ressources sont disponibles. Vous pouvez maintenant configurer votre instance managée SQL, votre base de données SQL ou vos bases de données dans une instance managée. Ces bases de données sont appelées bases de données managées.

Configurer Azure SQL Managed Instance

Azure SQL Managed Instance est essentiellement une instance managée de SQL Server. De nombreuses configurations disponibles dans SQL Server s’appliquent ici. Par exemple, vous pouvez configurer en utilisant sp_configure et certains indicateurs de trace globaux. Vous disposez également des options disponibles concernant tempdb, model, et master. Vous avez un contrôle sur la connectivité et la configuration de votre réseau.

Configuration de la base de données

Pour les bases de données managées dans Azure SQL Managed Instance et Azure SQL Database, vous disposez des options disponibles avec la commande ALTER DATABASE. Il existe des options SET, et vous pouvez sélectionner la valeur de dbcompat de votre choix. Cette valeur peut vous aider dans les migrations. Vous pouvez aussi utiliser la commande ALTER DATABASE pour changer l’édition ou le niveau de service.

Dans Azure SQL Database, vous n’avez pas accès à la configuration de fichier ci-dessous. Dans Azure SQL Managed instance, vous pouvez effectuer la maintenance des fichiers. À l’instar de SQL Managed Instance, vous disposez des options de connectivité réseau, de configuration du réseau et de gestion de l’espace.

Dans Azure SQL Database en particulier, la détection de pages obsolètes est activée et le classement du serveur par défaut SQL_Latin1_General_CP1_CI_AS est toujours utilisé. En outre, les options par défaut suivantes sont définies sur ON :

  • SNAPSHOT_ISOLATION_STATE
  • READ_COMMITTED_SNAPSHOT
  • FULL RECOVERY
  • CHECKSUM
  • QUERY_STORE
  • TDE
  • ACCELERATED_DATABASE_RECOVERY

Gestion du travail

SQL Server Agent fournit un système de configuration et de planification pour les utilisateurs de SQL Server. Vous pouvez obtenir des fonctionnalités équivalentes dans Azure SQL à l’aide des options suivantes :

SQL Agent dans SQL Managed Instance

SQL Agent est un service entièrement pris en charge avec Azure SQL Managed Instance. Les travaux SQL Agent sont pris en charge seulement pour les étapes des travaux T-SQL et SQL Server Integration Services. Les étapes de l’interpréteur de commandes ne sont pas prises en charge. Bien que les alertes ne soient pas prises en charge, les notifications par e-mail sont prises en charge avec Database Mail.

Travaux élastiques pour SQL Database

Azure SQL Database ne prend pas en charge SQL Server Agent. Vous pouvez cependant utiliser le service Agent de travail élastique pour créer et planifier des travaux. Les travaux sont des scripts T-SQL que vous pouvez exécuter sur de nombreuses bases de données, y compris avec une exécution en parallèle.

Azure Automation

Azure Automation est un service qui vous permet d’orchestrer des processus via un concept appelé runbook. Un runbook peut être constitué de code comme PowerShell ou Python, et peut être dirigé vers n’importe quelle ressource Azure.

Choix de configuration restreints

Les services Azure SQL Managed Instance et Azure SQL Database restreignent les configurations suivantes. Ces restrictions peuvent affecter la façon dont vous exécutez certaines tâches.

  • Vous ne pouvez pas arrêter ou redémarrer les serveurs.
  • Vous ne pouvez pas utiliser :
    • Initialisation instantanée de fichier.
    • Pages en mémoire verrouillées.
    • FILESTREAM et groupes de disponibilité.
    • Classement du serveur. Dans SQL Managed Instance, vous pouvez sélectionner le classement du serveur pendant le déploiement, mais vous ne pouvez pas le changer.
    • Paramètres de démarrage.
    • Rapport d’erreurs et feedback des clients.
    • ALTER SERVER CONFIGURATION.
    • Configuration de ERRORLOG.
  • La sécurité Mode mixte est appliquée.
  • L’audit des connexions est effectué via l’audit SQL.
  • Le compte proxy du serveur n’est pas applicable.

Azure SQL Managed Instance et SQL Database sont des offres PaaS (Platform as a Service). La restriction de ces choix ne doit pas vous empêcher d’utiliser pleinement un service managé SQL Server.

Gestion du stockage

Pour Azure SQL Managed Instance, il y a une taille de stockage maximale possible autorisée pour l’instance en fonction du SLO choisi. Vous choisissez un stockage maximal pour l’instance dans la limite de cette taille maximale possible. Si vous atteignez le stockage maximal, vous pouvez recevoir le message 1105 pour une base de données managée ou un message 1133 pour l’instance.

Comme pour SQL Server, la taille d’une nouvelle base de données est basée sur la taille de la base de données model. La base de données model est un fichier de données de 100 Mo et un fichier journal de 8 Mo. À nouveau comme pour SQL Server, la taille du modèle est configurable. Vous pouvez modifier la taille et le nombre de fichiers, mais vous n’avez aucun contrôle sur leur emplacement physique. Microsoft a des engagements sur les performances d’E/S en fonction de votre choix de déploiement. En outre, comme le stockage étendu est utilisé dans le niveau de service Usage général, les performances peuvent être affectées par la taille du fichier de données et du fichier journal.

Pour Azure SQL Database, il y a une taille maximale possible des fichiers de base de données en fonction du SLO choisi. Vous choisissez une taille maximale des données dans la limite de cette taille maximale possible. Maxsize pour les fichiers de base de données tel que défini par la colonne sys.database_files.max_size peut augmenter jusqu’à Taille maximale des données.

Pour comprendre cette idée de Taille maximale des données par rapport à MaxSize, prenez un exemple où une base de données à Usage général de 1 To (Taille maximale des données) est déployée. Quand vous faites ce déploiement, votre base de données ne nécessite qu’environ 500 Go, et non pas 1 To. À mesure que votre base de données s’accroît et approche la Taille maximale des données, Maxsize pour les fichiers de base de données accroît également jusqu’au niveau de 1 To.

Le journal des transactions s’ajoute à la taille des données et est inclus dans ce que vous payez pour le stockage. Il est tronqué régulièrement en raison de sauvegardes automatiques, car la récupération de base de données accélérée est activée par défaut. La taille maximale du journal est toujours de 30 % de Taille maximale des données. Par exemple, si Taille maximale des données est de 1 To, la taille maximale du journal des transactions est de 0,3 To, et le total de Taille maximale des données et de la taille du journal est de 1,3 To.

Le niveau Hyperscale d’Azure SQL Database diffère des autres niveaux de service. Il crée une base de données initialement de 40 Go et augmente automatiquement en taille jusqu’à la limite de 100 To. Le journal des transactions a une restriction de taille fixe de 1 To.

Architecture et stratégie de connectivité

Dans le cadre de la configuration de votre serveur logique Azure SQL Database ou Azure SQL Managed Instance, vous devez déterminer la route des connexions à vos bases de données.

Pour Azure SQL Managed Instance, vous pouvez choisir le type de connexion ou la stratégie au cours du déploiement. Dans Azure SQL Database, vous pouvez choisir le type de connexion après le déploiement.

Vous pouvez conserver la valeur par défaut de proxy pour les connexions extérieures et rediriger les connexions dans Azure ou configurer autre chose.

Diagram of the connection policies in Azure SQL.

Au niveau le plus élevé, en mode proxy, toutes les connexions sont transmises par proxy via la passerelle. En mode Redirection, une fois que la connexion est établie et qu’elle utilise la passerelle, la connexion peut être établie directement à la base de données ou à l’instance managée. La passerelle se trouve redirect-find-db dans la figure précédente.

La connexion directe (redirection) permet une latence réduite et un débit amélioré. Elle nécessite également l’ouverture de ports supplémentaires pour autoriser les communications entrantes et sortantes dans la plage 11000 à 11999.

Dans l’exercice suivant, vous verrez quelques commandes de configuration d’Azure SQL avec Azure CLI. Puis, plongez en détail l’évaluation du proxy et les stratégies de connexion de redirection.

Contrôle des connaissances

1.

Si Taille maximale des données dans Azure SQL Database est de 10 Go, quelle est la taille maximale du journal des transactions ?

2.

Quelle est la stratégie de connexion par défaut pour Azure SQL Database et Azure SQL Managed Instance ?