Share via


Meilleures pratiques relatives à la fonctionnalité de liaison pour Azure SQL Managed Instance

S’applique à :Azure SQL Managed Instance

Cet article décrit les meilleures pratiques à adopter lors de l’utilisation de la fonctionnalité de liaison pour Azure SQL Managed Instance. La fonctionnalité de liaison pour Azure SQL Managed Instance connecte vos serveurs SQL hébergés partout dans SQL Managed Instance, permettant une réplication des données en quasi-temps réel vers le cloud.

Notes

Certaines fonctionnalités de la liaison sont en disponibilité générale, tandis que d’autres sont en préversion. Passez en revue les prérequis pour en savoir plus.

Effectuer régulièrement des sauvegardes de fichiers journaux

La fonction de liaison réplique les données à l'aide de la technologie des groupes de disponibilité distribués basée sur les groupes de disponibilité Always On. La réplication des données avec des groupes de disponibilité distribués est basée sur la réplication des enregistrements du journal des transactions. Aucun enregistrement du journal des transactions ne peut être tronqué de la base de données de l'instance principale SQL Server tant qu'il n'a pas été répliqué dans la base de données du réplica secondaire. Si la réplication des enregistrements du journal des transactions est lente ou bloquée en raison de problèmes de connexion réseau, le fichier journal continue de se développer sur l’instance principale. La vitesse de développement dépend de l’intensité de la charge de travail et de la vitesse du réseau. En cas de défaillance prolongée de la connexion réseau et de charge de travail élevée sur l'instance principale, le fichier journal peut occuper tout l'espace de stockage disponible.

Pour réduire le risque de manquer d'espace sur votre instance principale SQL Server en raison de la croissance du fichier journal, veillez à effectuer régulièrement des sauvegardes de fichier journal de base de données sur votre SQL Server lorsqu'il est l'instance principale. Aucune action supplémentaire n'est nécessaire lorsque la SQL Managed Instance est la principale puisque les sauvegardes de journaux d'activité sont déjà effectuées automatiquement. En effectuant régulièrement des sauvegardes de fichier journal sur votre SQL Server principal, vous rendez votre base de données plus résistante aux événements imprévus de croissance de journaux d'activité. Avant d’effectuer la première sauvegarde de fichier journal de base de données, attendez que l’amorçage initial vers SQL Managed Instance se termine (autrement dit, attendez que le réplica de base de données sur SQL Managed Instance n’affiche plus l’état « Restauration »). Envisagez de planifier des tâches quotidiennes de sauvegarde de fichier journal à l’aide d’une tâche SQL Server Agent.

Vous pouvez utiliser un script Transact-SQL (T-SQL) pour sauvegarder le fichier journal, tel que l’exemple fourni dans cette section. Remplacez les espaces réservés dans l’exemple de script par le nom de votre base de données, le nom et le chemin d’accès du fichier de sauvegarde, ainsi que la description.

Pour sauvegarder votre journal des transactions, utilisez l’exemple suivant de script Transact-SQL (T-SQL) sur SQL Server :

-- Execute on SQL Server
-- Take log backup
BACKUP LOG [<DatabaseName>]
TO DISK = N'<DiskPathandFileName>'
WITH NOFORMAT, NOINIT,
NAME = N'<Description>', SKIP, NOREWIND, NOUNLOAD, COMPRESSION, STATS = 1

La commande Transact-SQL (T-SQL) suivante permet de vérifier l’espacement du journal utilisé par votre base de données sur SQL Server :

-- Execute on SQL Server
DBCC SQLPERF(LOGSPACE); 

Le résultat de la requête ressemble à l’exemple suivant pour un exemple de base de données tpcc :

Screenshot with results of the command showing log file size and space used

Dans cet exemple, la base de données a utilisé 76 % du journal disponible, avec un fichier journal d’une taille absolue d’environ 27 Go (27 971 Mo). Les seuils d'action varient en fonction de votre charge de travail. Dans l’exemple précédent, la taille du journal des transactions et le pourcentage d’utilisation du journal indiquent généralement que vous devez effectuer une sauvegarde du journal des transactions pour tronquer le fichier journal et libérer de l’espace, ou vous devez effectuer des sauvegardes de journal plus fréquentes. Il peut également s’agir d’une indication du blocage de la troncation du journal des transactions par les transactions ouvertes. Pour plus d’informations sur la résolution des problèmes liés à un journal des transactions dans SQL Server, consultez Résoudre les problèmes liés à la saturation du journal des transactions (erreur 9002 SQL Server). Pour en savoir plus sur la résolution des problèmes d’un journal des transactions dans Azure SQL Managed Instance, consultez Résolution des erreurs du journal des transactions dans Azure SQL Managed Instance.

Ajouter des indicateurs de trace de démarrage

Dans SQL Server, il existe deux indicateurs de trace (-T1800 et -T9567) qui, lorsqu'ils sont ajoutés comme paramètres de start-up, peuvent optimiser les performances de la réplication des données via la liaison. Pour en savoir plus, consultez Activer les indicateurs de trace de démarrage.