Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à :Azure SQL Managed Instance
Cet article vous apprend à préparer votre environnement pour une liaison Managed Instance pour pouvoir répliquer entre le programme d’installation de SQL Server sur Windows ou sur Linux et Azure SQL Managed Instance.
Remarque
Vous pouvez automatiser la préparation de votre environnement pour la liaison Managed Instance en utilisant un script téléchargeable. Pour en savoir plus, reportez-vous au Automatiser le blog d’installation de liaison.
Prérequis
Pour créer une liaison entre SQL Server et Azure SQL Managed Instance, vous devez remplir les conditions préalables suivantes :
- Un abonnement Azure actif. Si vous n’en avez pas, créez un compte gratuit.
- Version prise en charge de SQL Server avec la mise à jour de service requise.
- Azure SQL Managed Instance. Commencez si vous n’en avez pas.
- Serveur que vous envisagez d’être le serveur principal initial. Ce choix détermine l’emplacement à partir duquel vous devez créer le lien.
- La configuration d’un lien d’une instance managée SQL vers une instance secondaire SQL Server 2025 est prise en charge uniquement avec les instances managées SQL configurées avec la stratégie de mise à jour SQL Server 2025.
- La configuration d’un lien d’une instance managée SQL vers une instance secondaire SQL Server 2022 est prise en charge uniquement à partir de SQL Server 2022 CU10 et des instances managées SQL configurées avec la stratégie de mise à jour SQL Server 2022.
Attention
Lorsque vous créez votre instance managée SQL à utiliser avec la fonctionnalité de liaison, prenez en compte les exigences de mémoire pour toutes In-Memory les fonctionnalités OLTP (traitement transactionnel en ligne) utilisées par SQL Server. Pour plus d’informations, consultez Vue d’ensemble des limites de ressources Azure SQL Managed Instance.
autorisations
Pour SQL Server, vous devez disposer des autorisations sysadmin.
Pour Azure SQL Managed Instance, vous devez être membre du rôle Contributeur SQL Managed Instance ou disposer des autorisations suivantes pour un rôle personnalisé :
| Ressource Microsoft.Sql/ | Autorisations nécessaires |
|---|---|
| Microsoft.Sql/managedInstances | /read, /write (lecture, écriture) |
| Microsoft.Sql/managedInstances/hybridCertificate | /action |
| Microsoft.Sql/managedInstances/databases | /lecture, /suppression, /écriture, /restaurationComplète/action, /lectureSauvegardes/action, /détailsRestauration/lecture |
| Microsoft.Sql/managedInstances/distributedAvailabilityGroups | /lire, /écrire, /supprimer, /définirRôle/action |
| Microsoft.Sql/managedInstances/endpointCertificates | /read |
| Microsoft.Sql/managedInstances/hybridLink | /lire, /écrire, /supprimer |
| Microsoft.Sql/managedInstances/serverTrustCertificates | /écrire, /supprimer, /lire |
Préparer votre instance SQL Server
Pour préparer votre instance SQL Server, vous devez confirmer que :
- Vous êtes sur la version minimale prise en charge.
- Vous avez créé une clé principale de base de données dans la
masterbase de données. - Vous avez activé la fonctionnalité groupes de disponibilité.
- Vous avez ajouté les indicateurs de trace appropriés au démarrage.
Vous devez redémarrer SQL Server pour que ces modifications soient prises en compte.
Installer des mises à jour du service
Assurez-vous que la version de SQL Server dispose de la mise à jour appropriée installée, comme indiqué dans la table de compatibilité de version. Si vous devez installer des mises à jour, vous devez redémarrer votre instance SQL Server pendant la mise à jour.
Pour vérifier votre version de SQL Server, exécutez le script Transact-SQL (T-SQL) suivant sur SQL Server :
-- Run on SQL Server
-- Shows the version and CU of the SQL Server
USE master;
GO
SELECT @@VERSION as 'SQL Server version';
Créer une clé principale de base de données dans la base de données master
Le lien utilise des certificats pour chiffrer l’authentification et la communication entre SQL Server et SQL Managed Instance. La clé principale de base de données protège les certificats utilisés par le lien. Si vous disposez déjà d’une clé principale de base de données, vous pouvez ignorer cette étape.
Créez une clé principale de base de données dans la master base de données. Insérez votre mot de passe à la place de <strong_password> dans le script suivant et conservez-le dans un lieu confidentiel et sûr. Exécutez ce script T-SQL sur SQL Server :
-- Run on SQL Server
-- Create a master key
USE master;
GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<strong_password>';
Pour vérifier que vous disposez de la clé principale de base de données, utilisez le script T-SQL suivant sur SQL Server :
-- Run on SQL Server
USE master;
GO
SELECT * FROM sys.symmetric_keys WHERE name LIKE '%DatabaseMasterKey%';
Activer des groupes de disponibilité
La fonction de liaison repose sur la fonction de groupes de disponibilité Always On, qui est désactivée par défaut. Pour plus d’informations, consultez Activer la fonctionnalité Groupes de disponibilité AlwaysOn.
Remarque
Pour SQL Server sur Linux, consultez Activer groupes de disponibilité Always On.
Pour confirmer que la fonctionnalité de groupes de disponibilité est activée, exécutez le script T-SQL suivant sur SQL Server :
-- Run on SQL Server
-- Is the availability groups feature enabled on this SQL Server
DECLARE @IsHadrEnabled sql_variant = (select SERVERPROPERTY('IsHadrEnabled'))
SELECT
@IsHadrEnabled as 'Is HADR enabled',
CASE @IsHadrEnabled
WHEN 0 THEN 'Availability groups DISABLED.'
WHEN 1 THEN 'Availability groups ENABLED.'
ELSE 'Unknown status.'
END
as 'HADR status'
Important
Pour SQL Server 2016 (13.x), si vous avez besoin d’activer la fonctionnalité groupes de disponibilité, vous devez suivre les étapes supplémentaires décrites dans préparer les prérequis sql Server 2016 - Lien Azure SQL Managed Instance. Ces étapes supplémentaires ne sont pas requises pour SQL Server 2017 (14.x) et les versions ultérieures prises en charge par le lien.
Si la fonctionnalité de groupes de disponibilité n’est pas activée, procédez comme suit pour l’activer :
Ouvrez le Gestionnaire de configuration SQL Server.
Sélectionnez Services SQL Server dans le volet gauche.
Cliquez avec le bouton droit sur le service SQL Server, puis sélectionnez Propriétés.
Accédez à l’onglet Groupes de disponibilité Always On.
Sélectionnez la case à cocher Activer les groupes de disponibilité Always On, puis sélectionnez OK.
- Si vous utilisez SQL Server 2016 (13.x) et si l’option Activer les groupes de disponibilité Always On est désactivée avec le message
This computer is not a node in a failover cluster, suivez les étapes supplémentaires décrites dans Préparer les prérequis SQL Server 2016 - Lien Azure SQL Managed Instance. Une fois que vous avez effectué ces autres étapes, revenez et réessayez cette étape.
- Si vous utilisez SQL Server 2016 (13.x) et si l’option Activer les groupes de disponibilité Always On est désactivée avec le message
Sélectionnez OK dans la boîte de dialogue.
Redémarrez le service SQL Server.
Activer les indicateurs de trace de démarrage
Pour optimiser les performances de votre liaison, nous vous recommandons d’activer les indicateurs de trace suivants au démarrage :
-
-T1800: cet indicateur de trace optimise les performances lorsque les fichiers journaux des réplicas principal et secondaire dans un groupe de disponibilité sont hébergés sur des disques avec des tailles de secteur différentes (par exemple 512 octets et 4 Ko). Si les réplicas principal et secondaire ont une taille de secteur de disque de 4 Ko, cet indicateur de trace n’est pas nécessaire. Pour plus d’informations, consultez l’article KB3009974 de la Base de connaissances. -
-T9567: cet indicateur de trace active la compression du flux de données pour les groupes de disponibilité au cours de l’amorçage automatique. La compression augmente la charge sur le processeur, mais peut réduire considérablement le temps de transfert pendant l’amorçage.
Remarque
Pour SQL Server sur Linux, consultez Activer les indicateurs de trace.
Pour activer ces indicateurs de trace au démarrage, effectuez les étapes suivantes :
Ouvrez le Gestionnaire de configuration SQL Server.
Sélectionnez Services SQL Server dans le volet gauche.
Cliquez avec le bouton droit sur le service SQL Server, puis sélectionnez Propriétés.
Accédez à l’onglet Paramètres de démarrage. Dans Spécifier un paramètre de démarrage, entrez
-T1800, puis sélectionnez Ajouter pour ajouter le paramètre de démarrage. Ensuite, entrez-T9567et sélectionnez Ajouter pour ajouter l’autre indicateur de trace. Sélectionnez Appliquer pour enregistrer vos modifications.
Cliquez sur OK pour fermer la fenêtre Propriétés.
Pour en savoir plus, reportez-vous à la syntaxe permettant d’activer les indicateurs de trace.
Redémarrer SQL Server et valider la configuration
Une fois que vous avez vérifié que vous disposez d’une version prise en charge de SQL Server, activé la fonctionnalité de groupes de disponibilité Always On et ajouté vos indicateurs de trace de démarrage, redémarrez votre instance SQL Server pour appliquer toutes ces modifications :
Ouvrez le Gestionnaire de configuration SQL Server.
Sélectionnez Services SQL Server dans le volet gauche.
Cliquez avec le bouton droit sur le service SQL Server, puis sélectionnez Redémarrer.
Après le redémarrage, exécutez le script T-SQL suivant sur SQL Server pour valider la configuration de votre instance de SQL Server :
-- Run on SQL Server
-- Shows the version and CU of SQL Server
USE master;
GO
SELECT @@VERSION as 'SQL Server version';
GO
-- Shows if the Always On availability groups feature is enabled
SELECT SERVERPROPERTY ('IsHadrEnabled') as 'Is Always On enabled? (1 true, 0 false)';
GO
-- Lists all trace flags enabled on SQL Server
DBCC TRACESTATUS;
Votre version de SQL Server devrait être l’une des versions prises en charge et appliquées avec les mises à jour de service appropriées. La fonctionnalité de groupes de disponibilité Always On, ainsi que les indicateurs de trace -T1800 et -T9567 devraient être activés. La capture d’écran suivante illustre le résultat attendu d’une instance SQL Server correctement configurée :
Configurer la connectivité réseau
Pour que la liaison fonctionne, vous devez disposer d’une connectivité réseau entre SQL Server et SQL Managed Instance. L’option de réseau que vous choisissez dépend du fait que votre instance SQL Server se trouve ou non sur un réseau Azure.
SQL Server sur les machines virtuelles Azure
Le déploiement de SQL Server sur des machines virtuelles Azure dans le même réseau virtuel Azure qui héberge SQL Managed Instance est la méthode la plus simple, car la connectivité réseau existe automatiquement entre les deux instances. Pour plus d’informations, consultez Démarrage rapide : Configurer une machine virtuelle Azure pour qu’elle se connecte à Azure SQL Managed Instance.
Si votre instance SQL Server sur des machines virtuelles Azure se trouve dans un réseau virtuel différent de votre instance managée SQL, vous devez connecter les deux réseaux virtuels. Les réseaux virtuels n’ont pas besoin d’être dans le même abonnement pour que ce scénario fonctionne.
Il existe deux options pour connecter des réseaux virtuels :
- Appairage de réseaux virtuels Azure
- Passerelle VPN de réseau virtuel à réseau virtuel (portail Azure, PowerShell, Azure CLI)
Le peering est préférable, car il utilise le réseau principal Microsoft. Par conséquent, du point de vue de la connectivité, il n'y a aucune différence notable de latence entre les machines virtuelles dans un réseau virtuel appairé et celles dans le même réseau virtuel. Le couplage de réseaux virtuels est pris en charge entre les réseaux de la même région. L’appairage de réseaux virtuels global est pris en charge pour les instances hébergées dans des sous-réseaux créés après le 22 septembre 2020. Pour plus d’informations, consultez la Foire aux questions (FAQ).
SQL Server en dehors d’Azure
Si votre instance de SQL Server est hébergée en dehors d’Azure, établissez une connexion VPN entre SQL Server et SQL Managed Instance avec l’une ou l’autre des options suivantes :
Conseil
Nous vous recommandons d’utiliser ExpressRoute pour optimiser les performances du réseau lors de la réplication des données. Provisionnez une passerelle avec assez de bande passante pour votre cas d’usage.
Ports réseau entre les environnements
Quel que soit le mécanisme de connexion, il existe des exigences qui doivent être satisfaites pour que le trafic réseau circule entre les environnements :
Les règles de groupe de sécurité réseau (NSG) sur le sous-réseau hébergeant SQL Managed Instance doivent autoriser :
- Port entrant 5022 et plage de ports 11000-11999 pour recevoir le trafic de l’IP source SQL Server
- Port sortant 5022 pour envoyer le trafic vers l’IP de destination SQL Server
Tous les pare-feu sur le réseau hébergeant SQL Server, et le système d’exploitation hôte doit autoriser :
- Port entrant 5022 ouvert pour recevoir le trafic à partir de la plage IP source du sous-réseau MI /24 (par exemple 10.0.0.0/24)
- Ports sortants 5022 et plage de ports 11000-11999 ouverts pour envoyer le trafic vers la plage IP de destination du sous-réseau MI (exemple 10.0.0.0/24)
Le tableau suivant décrit les actions de port pour chaque environnement :
| Environnement | Procédure à suivre |
|---|---|
| SQL Server (dans Azure) | Ouvrez le trafic entrant et sortant sur le port 5022 pour le pare-feu réseau vers la plage d’adresses IP de sous-réseau entière de SQL Managed Instance. Si nécessaire, faites de même sur le pare-feu du système d’exploitation hôte (Windows/Linux) de SQL Server. Pour autoriser la communication sur le port 5022, créez une règle de groupe de sécurité réseau (NSG) dans le réseau virtuel qui héberge la machine virtuelle. |
| SQL Server (en dehors d’Azure) | Ouvrez le trafic entrant et sortant sur le port 5022 pour le pare-feu réseau vers la plage d’adresses IP de sous-réseau entière de SQL Managed Instance. Si nécessaire, faites de même sur le pare-feu du système d’exploitation hôte (Windows/Linux) de SQL Server. |
| Instance managée SQL | Créez une règle de groupe de sécurité réseau dans le portail Azure pour autoriser le trafic entrant et sortant à partir de l’adresse IP et la mise en réseau qui héberge SQL Server sur le port 5022 et la plage de ports 11000-11999. |
Pour ouvrir des ports dans le Pare-feu Windows, utilisez le script PowerShell suivant sur le système d’exploitation hôte Windows de l’instance SQL Server :
New-NetFirewallRule -DisplayName "Allow TCP port 5022 inbound" -Direction inbound -Profile Any -Action Allow -LocalPort 5022 -Protocol TCP
New-NetFirewallRule -DisplayName "Allow TCP port 5022 outbound" -Direction outbound -Profile Any -Action Allow -LocalPort 5022 -Protocol TCP
Le diagramme suivant montre un exemple d’environnement réseau local, indiquant que tous les pare-feux de l’environnement doivent avoir des ports ouverts, y compris le pare-feu du système d’exploitation hébergeant le SQL Server et les pare-feu et/ou passerelles d’entreprise :
Important
- Les ports doivent être ouverts dans chaque pare-feu dans l’environnement de mise en réseau, y compris le serveur hôte, ainsi que tous les pare-feu ou passerelles d’entreprise sur le réseau. Dans les entreprises, il se peut que vous deviez montrer à votre administrateur réseau les informations de cette section pour l’aider à ouvrir des ports supplémentaires dans la couche réseau de l’entreprise.
- Même si vous pouvez choisir de personnaliser le point de terminaison côté SQL Server, les numéros de port de SQL Managed Instance ne peuvent être ni changés ni personnalisés.
- Les plages d’adresses IP des sous-réseaux hébergeant les instances managées et SQL Server ne doivent pas se chevaucher.
Ajouter des URL à la liste d’autorisation
Selon vos paramètres de sécurité réseau, il peut être nécessaire d’ajouter des URL à votre liste d’autorisation pour le nom de domaine complet SQL Managed Instance et certains des points de terminaison Resource Management utilisés par Azure.
La liste suivante liste les ressources qui doivent être ajoutées à votre liste d’autorisation :
- Nom de domaine complet (FQDN) de votre SQL Managed Instance. Par exemple :
managedinstance.a1b2c3d4e5f6.database.windows.net. - Autorité Microsoft Entra
- ID de ressource du point de terminaison Microsoft Entra
- Point de terminaison Resource Manager
- Point de terminaison de service
Suivez les étapes de la section Configurer SSMS pour les clouds d’administration pour accéder à l’interface Outils dans SQL Server Management Studio (SSMS) et identifier les URL spécifiques pour les ressources de votre cloud que vous devez ajouter à votre liste d’autorisation.
Testez la connectivité réseau
La connectivité réseau bidirectionnelle entre SQL Server et SQL Managed Instance est nécessaire pour que la liaison fonctionne. Après avoir ouvert les ports du côté du SQL Server et configuré une règle NSG du côté de SQL Managed Instance, testez la connectivité à l’aide de SQL Server Management Studio (SSMS) ou de Transact-SQL.
Testez le réseau en créant un projet SQL Agent temporaire sur SQL Server et SQL Managed Instance pour vérifier la connectivité entre les deux instances. Lorsque vous utilisez Vérificateur de réseau dans SSMS, le projet est automatiquement créé pour vous et supprimé une fois le test terminé. Vous devez supprimer manuellement le projet SQL Agent si vous testez votre réseau à l’aide de T-SQL.
Remarque
L’exécution de scripts PowerShell par l’agent SQL Server sur SQL Server sur Linux n’est pas prise en charge actuellement. Il n’est donc pas possible d’exécuter Test-NetConnection à partir du projet SQL Server Agent sur SQL Server sur Linux.
Pour utiliser SQL Agent pour tester la connectivité réseau, vous avez besoin des exigences suivantes :
- L’utilisateur qui effectue le test doit disposer des autorisations pour créer un projet (en tant qu’administrateur système ou il appartient au rôle SQLAgentOperator pour
msdb) pour SQL Server et SQL Managed Instance. - Le service SQL Server Agent doit être en cours d’exécution sur SQL Server. Étant donné que l’Agent est activé par défaut sur SQL Managed Instance, aucune action supplémentaire n’est nécessaire.
Tenez compte des éléments suivants :
- Pour éviter les faux négatifs, tous les pare-feu le long du chemin d’accès réseau doivent autoriser le trafic ICMP (Internet Control Message Protocol).
- Pour éviter les faux positifs, tous les pare-feu le long du chemin réseau doivent autoriser le trafic sur le protocole UCS SQL Server propriétaire. Le blocage du protocole peut entraîner un test de connexion réussi, mais le lien ne parvient pas à créer.
- Les configurations avancées de pare-feu avec des garde-fous au niveau des paquets doivent être correctement configurées pour permettre correctement le trafic entre SQL Server et SQL Managed Instance.
Pour tester la connectivité réseau entre SQL Server et SQL Managed Instance dans SSMS, procédez comme suit :
Connectez-vous à l’instance qui sera le réplica principal dans SSMS.
Dans l’Explorateur d’objets, développez les bases de données et faites un clic droit sur la base de données que vous souhaitez lier à la réplica secondaire. Sélectionnez Tâches>liaison Azure SQL Managed Instance> Tester la connexion pour ouvrir l’Assistant Network Checker :
Sélectionnez Suivant sur la page Introduction de l’Assistant Network Checker.
Si toutes les conditions requises sont remplies sur la page Conditions préalables, sélectionnez Suivant. Dans le cas contraire, résolvez toutes les conditions préalables non remplies, puis sélectionnez Réexécuter la validation.
Sur la page Connexion, sélectionnez Connexion pour vous connecter à l’autre instance qui sera la réplica secondaire. Cliquez sur Suivant.
Vérifiez les détails de la page Spécifier les options de réseau et fournissez une adresse IP, si nécessaire. Cliquez sur Suivant.
Sur la page Résumé, passez en revue les actions effectuées par l’Assistant, puis sélectionnez Terminer pour tester la connexion entre les deux réplicas.
Passez en revue la page Résultats pour valider la connectivité qui existe entre les deux réplicas, puis sélectionnez Fermer pour terminer.
Attention
Passez aux étapes suivantes uniquement si vous avez validé la connectivité réseau entre vos environnements source et cible. Sinon, corrigez les problèmes de connectivité réseau avant de continuer.
Migrer un certificat d’une base de données protégée par TDE (facultatif)
Si vous liez une base de données SQL Server protégée par Transparent Data Encryption (TDE) à une instance managée SQL, vous devez migrer le certificat de chiffrement correspondant de l’instance SQL Server locale ou de machine virtuelle Azure vers l’instance managée SQL avant d’utiliser le lien. Pour des étapes détaillées, consultez Migrer vers Azure SQL Managed Instance un certificat d’une base de données protégée par TDE.
Les bases de données SQL Managed Instance qui sont chiffrées avec des clés TDE managées par le service ne peuvent pas être liées à SQL Server. Vous ne pouvez lier une base de données chiffrée qu’à SQL Server si elle a été chiffrée avec une clé gérée par le client et que le serveur de destination a accès à la même clé utilisée pour chiffrer la base de données. Pour plus d’informations, consultez Configurer SQL Server TDE avec Azure Key Vault.
Remarque
Azure Key Vault est pris en charge par SQL Server sur Linux à partir de la mise à jour cumulative 14 pour SQL Server 2022.
Installation de SSMS
SQL Server Management Studio (SSMS) est le moyen le plus simple d’utiliser une liaison Managed Instance. Installez la dernière version de SQL Server Management Studio (SSMS) sur votre ordinateur client.
Une fois l’installation terminée, ouvrez SSMS et connectez-vous à votre instance de SQL Server prise en charge. Cliquez avec le bouton droit sur une base de données utilisateur et vérifiez que l’option Liaison Azure SQL Managed Instance s’affiche dans le menu.
Configurer SSMS pour les clouds du secteur public
Si vous voulez déployer votre SQL Managed Instance sur un cloud gouvernemental, vous devez modifier vos paramètres SQL Server Management Studio (SSMS) pour utiliser le cloud approprié. Si vous ne déployez pas votre SQL Managed Instance sur un cloud public, ignorez cette étape.
Pour mettre à jour vos paramètres SSMS, effectuez ces étapes :
- Ouvrez SSMS.
- Dans le menu, choisissez Outils, puis choisissez Options.
- Développez Services Azure et sélectionnez Cloud Azure.
- Sous Sélectionner un cloud Azure, utilisez la liste déroulante pour choisir AzureUSGovernment ou un autre cloud de secteur public, comme AzureChinaCloud :
Si vous souhaitez revenir au cloud public, choisissez AzureCloud dans la liste déroulante.
Contenu connexe
Pour utiliser le lien :
- Configurer la liaison entre SQL Server et SQL Managed Instance avec SSMS
- Configurer la liaison entre SQL Server et SQL Managed Instance avec les scripts
- Basculez le lien
- Migrer avec le lien
- Meilleures pratiques pour préserver la liaison
Pour en savoir plus sur le lien :
Pour d’autres scénarios de réplication et de migration, considérez :