Azure Synapse Link pour SQL vous permet de synchroniser automatiquement une base de données transactionnelle dans SQL Server ou Azure SQL Database avec un pool SQL dédié dans Azure Synapse Analytique. Cette synchronisation vous permet d’effectuer des charges de travail analytiques à faible latence dans Synapse Analytique sans encourir de surcharge de requête dans la base de données opérationnelle source.
dans lequel vous disposez d’un accès de niveau administratif.
Approvisionner des ressources Azure
Dans cet exercice, vous allez synchroniser les données d’une ressource Azure SQL Database vers un espace de travail Azure Synapse Analytique. Vous commencerez par utiliser un script pour provisionner ces ressources dans votre abonnement Azure.
Utilisez le bouton [>_] à droite de la barre de recherche en haut de la page pour créer un Cloud Shell dans le portail Azure, en sélectionnant un environnement PowerShell et en créant un stockage si vous y êtes invité. Cloud Shell fournit une interface de ligne de commande dans un volet situé au bas du portail Azure, comme illustré ici :
Remarque : Si vous avez déjà créé un Cloud Shell qui utilise un environnement Bash, utilisez le menu déroulant en haut à gauche du volet Cloud Shell pour le remplacer par PowerShell.
Notez que vous pouvez redimensionner la coque du nuage en faisant glisser la barre de séparation en haut du volet ou en utilisant les icônes —, ◻ et X en haut à droite du volet pour réduire, agrandir et fermer le volet. Pour plus d’informations sur l’utilisation d’Azure Cloud Shell, consultez la
Une fois le référentiel cloné, entrez les commandes suivantes pour accéder au dossier de cet exercice et exécutez le script setup.ps1 qu’il contient :
cd dp-203/Allfiles/labs/15
./setup.ps1
Si vous y êtes invité, choisissez l’abonnement que vous souhaitez utiliser (cela ne se produira que si vous avez accès à plusieurs abonnements Azure).
Lorsque vous y êtes invité, entrez un mot de passe approprié pour votre base de données SQL Azure.
Remarque : N’oubliez pas ce mot de passe !
Attendez que le script soit terminé - cela prend généralement environ 15 minutes, mais dans certains cas, cela peut prendre plus de temps. Pendant que vous attendez, consultez l’article
Avant de pouvoir configurer Azure Synapse Link pour votre base de données SQL Azure, vous devez vous assurer que les paramètres de configuration requis ont été appliqués dans votre serveur Azure SQL Database.
, accédez au groupe de ressources dp203-xxxxxxx créé par le script d’installation, puis sélectionnez votre serveur Azure SQL sqldbxxxxxxxx.
Remarque : veillez à ne pas confondre la ressource Azure SQL Server sqldb (sqldbxxxxxxxx) et le pool SQL dédié Azure Synapse Analytique (sqlxxxxxxxx).
Dans la page de votre ressource Azure SQL Server, dans le volet de gauche, dans la section Sécurité (en bas), sélectionnez Identité. Ensuite, sous Identité managée affectée par le système, définissez l’option État sur Activé. Utilisez ensuite l’icône Enregistrer 🖫 pour enregistrer votre modification de configuration.
Dans le volet de gauche, dans la section Sécurité, sélectionnez Mise en réseau. Ensuite, sous Règles de pare-feu, sélectionnez l’exception pour Autoriser les services et ressources Azure à accéder à ce serveur.
Utilisez le bouton + Ajouter une règle de pare-feu pour ajouter une nouvelle règle de pare-feu avec les paramètres suivants :
Rule name
Start IP
End IP
Tous les clients
0.0.0.0
255.255.255.255
There are no rows in this table
Remarque : Cette règle permet d’accéder à votre serveur à partir de n’importe quel ordinateur connecté à Internet. Nous activons cette fonctionnalité pour simplifier l’exercice, mais dans un scénario de production, vous devez restreindre l’accès aux seules adresses réseau qui ont besoin d’utiliser vos bases de données.
Utilisez le bouton Enregistrer pour enregistrer votre modification de configuration :
Explorer la base de données transactionnelle
Votre serveur SQL Azure héberge un exemple de base de données nommé AdventureWorksLT. Cette base de données représente une base de données transactionnelle utilisée pour les données d’application opérationnelles.
Dans la page Vue d’ensemble de votre serveur Azure SQL, en bas de la, sélectionnez la base de données AdventureWorksLT :
Dans la page de la base de données AdventureWorksLT, sélectionnez l’onglet Éditeur de requêtes et connectez-vous à l’aide de l’authentification SQL Server avec les informations d’identification suivantes :
Connectez-vous : SQLUser
Mot de passe : mot de passe que vous avez spécifié lors de l’exécution du script d’installation.
Lorsque l’éditeur de requête s’ouvre, développez le nœud Tables et affichez la liste des tables de la base de données. Notez qu’elles incluent des tables dans un schéma SalesLT (par exemple, SalesLT.Customer).
Configurer Azure Synapse Link
Vous êtes maintenant prêt à configurer Azure Synapse Link pour SQL dans votre espace de travail Synapse Analytique.
Démarrer le pool SQL dédié
Dans le portail Azure, fermez l’éditeur de requête de votre base de données SQL Azure (en ignorant les modifications) et revenez à la page de votre groupe de ressources dp203-xxxxxxx.
Ouvrez l’espace de travail Synapsexxxxxxx Synapse, et sur sa page Vue d’ensemble, dans la carte Ouvrir Synapse Studio, sélectionnez Ouvrir pour ouvrir Synapse Studio dans un nouvel onglet du navigateur ; Connectez-vous si vous y êtes invité.
Sur le côté gauche de Synapse Studio, utilisez l’icône ›› pour développer le menu - cela révèle les différentes pages de Synapse Studio.
Sur la page Gérer, sous l’onglet Pools SQL, sélectionnez la ligne du pool SQL dédié sql xxxxxxx et utilisez son icône ▷ pour le démarrer. confirmer que vous souhaitez le reprendre lorsque vous y êtes invité.
Attendez que le pool SQL reprenne. Cela peut prendre quelques minutes. Vous pouvez utiliser le bouton ↻ Actualiser pour vérifier périodiquement son état. L’état s’affichera comme En ligne lorsqu’il sera prêt.
Créer le schéma cible
Dans Synapse Studio, sur la page Données, sous l’onglet Espace de travail, développez Bases de données SQL et sélectionnez votre base de données sqlxxxxxxx.
Dans le menu ... de la base de données sqlxxxxxxx, sélectionnez Nouveau script SQL > Script vide.
Dans le volet SQL Script 1, entrez le code SQL suivant et utilisez le bouton ▷ Exécuter pour l’exécuter.
SQL
CREATESCHEMA SalesLT;
GO
Attendez que la requête se termine avec succès. Ce code crée un schéma nommé SalesLT dans la base de données de votre pool SQL dédié, ce qui vous permet de synchroniser les tables dans le schéma de ce nom à partir de votre base de données SQL Azure.
Créer une connexion de lien
Dans Synapse Studio, sur la page Intégrer, dans le menu déroulant +, sélectionnez Lien de connexion. Créez ensuite une nouvelle connexion liée avec les paramètres suivants :
Type de source : Base de données SQL Azure
Service lié source : ajoutez un nouveau service lié avec les paramètres suivants (un nouvel onglet s’ouvrira) :
Nom : SqlAdventureWorksLT
Description : Connexion à la base de données AdventureWorksLT
Se connecter via le runtime d’intégration : AutoResolveIntegrationRuntime
Nom du serveur : sélectionnez votre serveur SQL Azure sqldbxxxxxxx
Nom de la base de données : AdventureWorksLT
Type d’authentification : authentification SQL
Nom d’utilisateur : SQLUser
Mot de passe : mot de passe que vous avez défini lors de l’exécution du script d’installation
Utilisez l’option Tester la connexion pour vous assurer que vos paramètres de connexion sont corrects avant de continuer ! Ensuite, cliquez sur Créer.
Tables sources : sélectionnez les tables suivantes :
SalesLT.Client
VentesLT.Produit
SalesLT.SalesOrderDetail
SalesLT.SalesOrderHeader
Poursuivez la configuration des paramètres suivants :
Remarque : Certaines tables cibles affichent une erreur en raison de l’utilisation de types de données personnalisés ou parce que les données de la table source ne sont pas compatibles avec le type de structure par défaut de l’index columnstore cluster.
Pool cible : sélectionnez votre pool SQL dédié sqlxxxxxxx
Poursuivez la configuration des paramètres suivants :
Nom de la connexion du lien : sql-adventureworkslt-conn
Nombre de cœurs : 4 (+ 4 cœurs de pilote)
Dans la page sql-adventureworkslt-conn qui a été créée, affichez les mappages de tables qui ont été créés. Vous pouvez utiliser le bouton Propriétés (qui ressemble à 🗏*) pour masquer le volet Propriétés afin de faciliter la visualisation de tout.
Modifiez ces types de structure dans les mappages de table comme suit :
Source table
Target table
Distribution type
Distribution column
Structure type
SalesLT.Customer →
[SalesLT] . [Customer]
Round robin
-
Clustered columnstore index
SalesLT.Product →
[SalesLT] . [Product]
Round robin
-
Heap
SalesLT.SalesOrderDetail →
[SalesLT] . [SalesOrderDetail]
Round robin
-
Clustered columnstore index
SalesLT.SalesOrderHeader →
[SalesLT] . [SalesOrderHeader]
Round robin
-
Heap
There are no rows in this table
En haut de la page sql-adventureworkslt-conn qui est créée, utilisez le bouton ▷ Démarrer pour démarrer la synchronisation. Lorsque vous y êtes invité, sélectionnez OK pour publier et démarrer la connexion par lien.
Après avoir démarré la connexion, sur la page Surveiller, affichez l’onglet Liens vers les connexions et sélectionnez la connexion sql-adventureworkslt-conn. Vous pouvez utiliser le bouton ↻ Actualiser pour mettre à jour périodiquement le statut. Le processus de copie d’instantané initial et le démarrage de la réplication peuvent prendre plusieurs minutes. Après cela, toutes les modifications apportées aux tables de la base de données source seront automatiquement relues dans les tables synchronisées.
Afficher les données répliquées
Une fois que l’état des tables est passé à En cours d’exécution, sélectionnez la page Données et utilisez l’icône ↻ en haut à droite pour actualiser la vue.
Sous l’onglet Espace de travail, développez Bases de données SQL, votre base de données sqlxxxxxxx et son dossier Tables pour afficher les tables répliquées.
Dans le menu ... de la base de données sqlxxxxxxx, sélectionnez Nouveau script SQL > Script vide. Ensuite, dans la page du nouveau script, entrez le code SQL suivant :
SELECT oh.SalesOrderID, oh.OrderDate,
p.ProductNumber, p.Color, p.Size,
c.EmailAddress AS CustomerEmail,
od.OrderQty, od.UnitPrice
FROM SalesLT.SalesOrderHeader AS oh
JOIN SalesLT.SalesOrderDetail AS od
ON oh.SalesOrderID = od.SalesOrderID
JOIN SalesLT.Product AS p
ON od.ProductID = p.ProductID
JOIN SalesLT.Customer as c
ON oh.CustomerID = c.CustomerID
ORDERBY oh.SalesOrderID;
Utilisez le bouton ▷ Exécuter pour exécuter le script et afficher les résultats. La requête est exécutée sur les tables répliquées dans le pool SQL dédié et non sur la base de données source, ce qui vous permet d’exécuter des requêtes analytiques sans affecter les applications métier.
Lorsque vous avez terminé, dans la page Gérer, mettez en pause le pool SQL dédié sql xxxxxxx.
Supprimer des ressources Azure
Si vous avez terminé d’explorer Azure Synapse Analytique, vous devez supprimer les ressources que vous avez créées pour éviter des coûts Azure inutiles.
Fermez l’onglet du navigateur Synapse Studio et revenez au portail Azure.
Sur le portail Azure, dans la page d’accueil, sélectionnez Groupes de ressources.
Sélectionnez le groupe de ressources dp203-xxxxxxx qui a été créé par le script d’installation au début de cet exercice.
En haut de la page Vue d’ensemble de votre groupe de ressources, sélectionnez Supprimer le groupe de ressources.
Entrez le nom du groupe de ressources dp203-xxxxxxx pour confirmer que vous souhaitez le supprimer, puis sélectionnez Supprimer.
Au bout de quelques minutes, votre groupe de ressources et les ressources qu’il contenait seront supprimés.