Automatiser les workflows pour SQL Server ou Azure SQL Database à l’aide d’Azure Logic AppsAutomate workflows for SQL Server or Azure SQL Database by using Azure Logic Apps

Cet article explique comment accéder aux données dans votre base de données SQL depuis une application logique avec le connecteur SQL Server.This article shows how you can access data in your SQL database from inside a logic app with the SQL Server connector. Vous pouvez ainsi automatiser des tâches, des processus ou des workflows qui gèrent vos données et ressources SQL en créant des applications logiques.That way, you can automate tasks, processes, or workflows that manage your SQL data and resources by creating logic apps. Le connecteur SQL Server fonctionne pour SQL Server en local et Azure SQL Database dans le cloud.The SQL Server connector works for both on-premises SQL Server and for cloud-based Azure SQL Database.

Vous pouvez créer des applications logiques qui s’exécutent lorsqu’elles sont déclenchées par des événements dans votre base de données SQL ou dans d’autres systèmes, tels que Dynamics CRM Online.You can create logic apps that run when triggered by events in your SQL database or in other systems, such as Dynamics CRM Online. Vos applications logiques peuvent également obtenir, insérer et supprimer des données, ainsi qu’exécuter des requêtes SQL et des procédures stockées.Your logic apps can also get, insert, and delete data along with running SQL queries and stored procedures. Par exemple, vous pouvez concevoir une application logique qui recherche automatiquement les nouveaux enregistrements dans Dynamics CRM Online, ajoute des éléments à votre base de données SQL en cas de nouveaux enregistrements, puis envoie des alertes sur les éléments ajoutés par e-mail.For example, you can build a logic app that automatically checks for new records in Dynamics CRM Online, adds items to your SQL database for any new records, and then sends email alerts about the added items.

Si vous débutez avec les applications logiques, consultez Qu’est-ce qu’Azure Logic Apps ? et Démarrage rapide : Créer votre première application logique.If you're new to logic apps, review What is Azure Logic Apps and Quickstart: Create your first logic app. Pour obtenir les informations techniques, les limitations et les problèmes connus spécifiques aux connecteurs, consultez la page référence du connecteur SQL Server.For connector-specific technical information, limitations, and known issues, see the SQL Server connector reference page.

PrérequisPrerequisites

  • Un abonnement Azure.An Azure subscription. Si vous n’avez pas encore d’abonnement, vous pouvez vous inscrire pour obtenir un compte Azure gratuitement.If you don't have a subscription, sign up for a free Azure account.

  • Une base de données SQL Server ou une base de données SQL AzureAn SQL Server database or Azure SQL database

    Vos tables doivent contenir des données afin que votre application logique puisse renvoyer les résultats lors de l’appel des opérations.Your tables must have data so that your logic app can return results when calling operations. Si vous créez une base de données Azure SQL, vous pouvez utiliser les exemples de bases de données inclus.If you create an Azure SQL Database, you can use sample databases, which are included.

  • Le nom de votre serveur SQL, le nom de la base de données, votre nom d’utilisateur et votre mot de passe.Your SQL server name, database name, your user name, and your password. Vous avez besoin de ces informations d’identification pour autoriser votre application logique à accéder à votre serveur SQL.You need these credentials so that you can authorize your logic to access your SQL server.

    • Pour SQL Server, vous trouverez ces informations dans la chaîne de connexion :For SQL Server, you can find these details in the connection string:

      Server={your-server-address};Database={your-database-name};User Id={your-user-name};Password={your-password};

    • Pour Azure SQL Database, vous trouverez ces informations dans la chaîne de connexion, ou dans le portail Azure sous les propriétés de base de données SQL :For Azure SQL Database, you can find these details in the connection string, or in the Azure portal under the SQL Database properties:

      Server=tcp:{your-server-name}.database.windows.net,1433;Initial Catalog={your-database-name};Persist Security Info=False;User ID={your-user-name};Password={your-password};MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;

  • La passerelle de données locale installée sur un ordinateur local et une ressource de passerelle de données Azure créée sur le Portail Azure dans ces scénarios :The on-premises data gateway installed on a local computer and an Azure data gateway resource created in the Azure portal for these scenarios:

    • Les applications logiques ne s’exécutent pas dans un environnement de service d’intégration (ISE).Your logic apps don't run in an integration service environment (ISE).

    • Les applications logiques s’exécutent bien dans un environnement de service d’intégration, mais vous devez utiliser l’authentification Windows pour votre connexion à SQL Server.Your logic apps do run in an integration service environment, but you have to use Windows authentication for your SQL Server connection. Dans ce scénario, utilisez la version non ISE du connecteur SQL Server ainsi que la passerelle de données, car la version ISE ne prend pas en charge l’authentification Windows.For this scenario, use the SQL Server connector's non-ISE version along with the data gateway because the ISE version doesn't support Windows authentication.

  • L’application logique où vous devez avoir accès à votre base de données SQL.The logic app where you need access to your SQL database. Pour démarrer votre application logique avec un déclencheur SQL, vous avez besoin d’une application logique vide.To start your logic app with a SQL trigger, you need a blank logic app.

Ajouter un déclencheur SQLAdd a SQL trigger

Dans Azure Logic Apps, chaque application logique doit démarrer avec un déclencheur, qui s’active lorsqu’un événement spécifique se produit ou lorsqu’une condition particulière est remplie.In Azure Logic Apps, every logic app must start with a trigger, which fires when a specific event happens or when a specific condition is met. Chaque fois que le déclencheur s’active, le moteur Logic Apps crée une instance d’application logique et lance l’exécution du flux de travail de votre application logique.Each time that the trigger fires, the Logic Apps engine creates a logic app instance and starts running your logic app's workflow.

  1. Dans le portail Azure ou Visual Studio, créez une application logique vide, qui ouvre le Concepteur d'applications logiques.In the Azure portal or Visual Studio, create a blank logic app, which opens Logic Apps Designer. Cet exemple utilise le portail Azure.This example uses the Azure portal.

  2. Dans la zone de recherche du Concepteur, entrez le filtre « sql server ».On the designer, in the search box, enter "sql server" as your filter. Dans la liste des déclencheurs, sélectionnez le déclencheur SQL souhaité.From the triggers list, select the SQL trigger that you want.

    Cet exemple utilise le déclencheur Lorsqu'un élément est créé.This example uses the When an item is created trigger.

    Sélectionner le déclencheur « Lorsqu'un élément est créé »

  3. Si vous êtes invité à créer une connexion, créez votre connexion SQL maintenant.If you are prompted to create a connection, create your SQL connection now. Si votre connexion existe, sélectionnez un Nom de table.If your connection exists, select a Table name.

    Sélectionnez la table de votre choix

  4. Définissez les propriétés Intervalle et Fréquence qui spécifient la fréquence à laquelle votre application logique vérifie la table.Set the Interval and Frequency properties, which specify how often your logic app checks the table.

    Ce déclencheur ne renvoie qu’une seule ligne de la table sélectionnée.This trigger returns only one row from the selected table, nothing else. Pour effectuer d’autres tâches, ajoutez d’autres actions qui effectuent les tâches de votre choix.To perform other tasks, add other actions that perform the tasks you want. Par exemple, pour afficher les données de cette ligne, vous pouvez ajouter d’autres actions qui créent un fichier qui comprend les champs de la ligne retournée, puis envoient des alertes par e-mail.For example, to view the data in this row, you can add other actions that create a file that includes the fields from the returned row, and then send email alerts. Pour en savoir plus sur les autres actions disponibles pour ce connecteur, consultez la page de référence du connecteur.To learn about other available actions for this connector, see the connector's reference page.

  5. Lorsque c’est chose faite, dans la barre d’outils du concepteur, sélectionnez Enregistrer.When you're done, on the designer toolbar, select Save.

    Cette étape active et publie automatiquement votre application logique dans Azure.This step automatically enables and publishes your logic app live in Azure.

Ajouter une action SQLAdd a SQL action

Dans Azure Logic Apps, une action est une étape de votre flux de travail qui suit un déclencheur ou une autre action.In Azure Logic Apps, an action is a step in your workflow that follows a trigger or another action. Dans cet exemple, l’application logique commence par le déclencheur de périodicité et appelle une action qui reçoit une ligne d’une base de données SQL.In this example, the logic app starts with the Recurrence trigger, and calls an action that gets a row from a SQL database.

  1. Dans le portail Azure ou Visual Studio, ouvrez votre application logique dans le Concepteur d’applications logiques.In the Azure portal or Visual Studio, open your logic app in Logic Apps Designer. Cet exemple utilise le portail Azure.This example uses the Azure portal.

  2. Sous le déclencheur auquel/l’action à laquelle vous souhaitez ajouter l’action SQL, sélectionnez Nouvelle étape.Under the trigger or action where you want to add the SQL action, select New step.

    Ajouter une nouvelle étape à une application logique

    Pour ajouter une action entre des étapes, déplacez votre souris sur la flèche de connexion.To add an action between existing steps, move your mouse over the connecting arrow. Cliquez sur le signe ( + ) qui s’affiche, puis sélectionnez Ajouter une action.Select the plus sign (+) that appears, and then select Add an action.

  3. Sous Choisir une action, dans la zone de recherche, entrez « sql server » en guise de filtre.Under Choose an action, in the search box, enter "sql server" as your filter. Dans la liste des actions, sélectionnez l’action SQL souhaitée.From the actions list, select the SQL action that you want.

    Cet exemple utilise l’action Obtenir la ligne, qui obtient un enregistrement unique.This example uses the Get row action, which gets a single record.

    Rechercher et sélectionner l’action SQL « Obtenir la ligne »

    Cette action ne renvoie qu’une seule ligne de la table sélectionnée.This action returns only one row from the selected table, nothing else. Pour afficher les données de cette ligne, vous pouvez ajouter d’autres actions qui créent un fichier qui comprend les champs de la ligne retournée, et stocker ce fichier dans un compte de stockage cloud.To view the data in this row, you might add other actions that create a file that includes the fields from the returned row, and store that file in a cloud storage account. Pour en savoir plus sur les autres actions disponibles pour ce connecteur, consultez la page de référence du connecteur.To learn about other available actions for this connector, see the connector's reference page.

  4. Si vous êtes invité à créer une connexion, créez votre connexion SQL maintenant.If you are prompted to create a connection, create your SQL connection now. Si vous avez établi une connexion, sélectionnez un nom de table, puis entrez l’ID de ligne correspondant à l’enregistrement souhaité.If your connection exists, select a Table name, and enter the Row ID for the record that you want.

    Entrez le nom de la table et l’ID de ligne.

  5. Lorsque c’est chose faite, dans la barre d’outils du concepteur, sélectionnez Enregistrer.When you're done, on the designer toolbar, select Save.

    Cette étape active et publie automatiquement votre application logique dans Azure.This step automatically enables and publishes your logic app live in Azure.

Connectez-vous à votre base de donnéesConnect to your database

Quand vous utilisez un déclencheur ou une action qui accède à un service pour la première fois, le concepteur Logic Apps vous invite à créer une connexion avec ce service.When you use a trigger or action that accesses a service for the first time, the Logic Apps Designer prompts you to create a connection to that service. Vous pouvez ensuite fournir les informations de connexion nécessaires directement à partir de votre application logique, à l’intérieur du concepteur.You can then provide the necessary connection information directly from your logic app inside the designer.

Connexion à Azure SQL DatabaseConnect to Azure SQL Database

Lorsque le déclencheur ou l’action SQL vous invite à fournir des informations de connexion, effectuez les étapes suivantes, qui fonctionnent à la fois pour les déclencheurs et les actions.When the SQL trigger or action prompts you for connection information, follow these steps, which work for both triggers and actions.

  1. Pour Nom de la connexion, créez un nom pour votre connexion.For Connection Name, create a name for your connection.

  2. Sélectionnez votre serveur SQL Azure sous Nom du serveur SQL.Under SQL Server Name, select your Azure SQL server. Lorsque la liste Nom de la base de données SQL, sélectionnez votre base de données.When the SQL Database Name list appears, select your database. Fournissez le nom d’utilisateur et le mot de passe associés à votre serveur SQL Azure.Provide the user name and password for your Azure SQL server.

    Ces informations se trouvent également dans le Portail Azure sous les propriétés de votre base de données SQL ou dans votre chaîne de connexion :You can also find this information either in the Azure portal under your SQL database properties or in your connection string:

    • User ID=<your-user-name>
    • Password=<your-password>

    Créer une connexion à Azure SQL Database

  3. Sélectionnez Créer lorsque vous avez terminé.When you're done, select Create.

  4. Après avoir créé votre connexion, poursuivez avec Ajouter un déclencheur SQL ou Ajouter une action SQL.After you create your connection, continue with Add a SQL trigger or Add a SQL action.

Se connecter à SQL ServerConnect to SQL Server

Lorsque le déclencheur ou l’action SQL vous invite à fournir des informations de connexion, effectuez les étapes suivantes, qui fonctionnent à la fois pour les déclencheurs et les actions.When the SQL trigger or action prompts you for connection information, follow these steps, which work for both triggers and actions. Dans les scénarios qui requièrent l’installation de la passerelle de données locale sur un ordinateur local et la création de la ressource de passerelle de données Azure, veillez à respecter ces prérequis avant toute chose.For scenarios that require that you install the on-premises data gateway on a local computer and create the Azure data gateway resource, make sure that you complete these requirements first. Sinon, votre ressource passerelle n’apparaîtra pas dans la liste des passerelles lorsque vous créerez votre connexion.Otherwise, your gateway resource won't appear in the gateways list when you create your connection.

Par ailleurs, pour utiliser l’authentification Windows avec le connecteur SQL Server dans un environnement de service d’intégration (ISE), utilisez la version non ISE du connecteur et la passerelle de données locale.Also, to use Windows authentication with the SQL Server connector in an integration service environment (ISE), use the connector's non-ISE version and the on-premises data gateway. La version étiquetée ISE ne prend pas en charge l’authentification Windows.The ISE-labeled version doesn't support Windows authentication.

  1. Pour Nom de la connexion, créez un nom pour votre connexion.For Connection Name, create a name for your connection.

  2. Dans le déclencheur ou l’action, sélectionnez Se connecter via une passerelle de données locale afin que les options de serveur SQL s’affichent.In the trigger or action, select Connect via on-premises data gateway so that the SQL server options appear.

  3. Pour Nom du serveur SQL et Nom de la base de données SQL, indiquez l’adresse de votre serveur SQL et le nom de votre base de données.For SQL server Name and SQL database name, provide the address for your SQL server and name for your database. Pour Nom d'utilisateur et Mot de passe, indiquez le nom d’utilisateur et le mot de passe de votre serveur.For Username and Password, provide the user name and password for your server.

    Ces informations se trouvent également dans votre chaîne de connexion :You can also find this information in your connection string:

    • Server=<your-server-address>
    • Database=<your-database-name>
    • User ID=<your-user-name>
    • Password=<your-password>

    Créer une connexion à SQL Server

  4. Si votre serveur SQL utilise l’authentification Windows ou l’authentification De base, sélectionnez le type d’authentification.If your SQL server uses Windows or Basic authentication, select the Authentication Type.

  5. Sous Passerelles, sélectionnez l’abonnement Azure associé à votre passerelle de données locale créée précédemment, puis sélectionnez le nom de votre passerelle de données locale.Under Gateways, select the Azure subscription that's associated with your previously created on-premises data gateway, and select the name for your on-premises data gateway.

    Si votre passerelle n’apparaît pas dans la liste, vérifiez que vous avez correctement configuré votre passerelle.If your gateway doesn't appear in the list, check that you correctly set up your gateway.

    Créer une connexion SQL Server terminé

  6. Sélectionnez Créer lorsque vous avez terminé.When you're done, select Create.

  7. Après avoir créé votre connexion, poursuivez avec Ajouter un déclencheur SQL ou Ajouter une action SQL.After you create your connection, continue with Add SQL trigger or Add SQL action.

Gérer des données en blocHandle bulk data

Parfois, vous manipulez des jeux de résultats tellement volumineux que le connecteur ne peut pas renvoyer tous les résultats en même temps, ou vous souhaitez mieux contrôler la taille et la structure de vos jeux de résultats.Sometimes, you have to work with result sets so large that the connector doesn't return all the results at the same time, or you want better control over the size and structure for your result sets. Voici quelques façons de gérer ces grands jeux de résultats :Here's some ways that you can handle such large result sets:

  • Pour mieux gérer les résultats sous forme de jeux plus petits, activez la pagination.To help you manage results as smaller sets, turn on pagination. Pour plus d’informations, voir Obtenir des données en bloc, des enregistrements et des éléments à l’aide de la pagination.For more information, see Get bulk data, records, and items by using pagination.

  • Créez une procédure stockée qui trie les résultats comme vous le souhaitez.Create a stored procedure that organizes the results the way you want.

    Lorsque vous procédez à l’extraction ou à l’insertion de plusieurs lignes, votre application logique peut effectuer une itération dans ces lignes en utilisant une boucle Until dans ces limites.When getting or inserting multiple rows, your logic app can iterate through these rows by using an until loop within these limits. Toutefois, lorsque votre application logique doit manipuler des jeux d’enregistrements si volumineux (plusieurs milliers ou millions de lignes, par exemple), vous devez réduire les coûts liés aux appels à la base de données.However, when your logic app has to work with record sets so large, for example, thousands or millions of rows, that you want to minimize the costs resulting from calls to the database.

    Pour organiser les résultats à votre convenance, vous pouvez créer une procédure stockée qui s’exécute dans votre instance SQL et utilise l’instruction SELEC  - ORDER BY.To organize the results in the way that you want, you can create a stored procedure that runs in your SQL instance and uses the SELECT - ORDER BY statement. Cette solution vous permet de déterminer la taille et la structure de vos résultats.This solution gives you more control over the size and structure of your results. Votre application logique appelle la procédure stockée à l’aide de l’action Exécuter la procédure stockée du connecteur SQL Server.Your logic app calls the stored procedure by using the SQL Server connector's Execute stored procedure action.

    Pour en savoir plus sur la solution, consultez les articles suivants :For more solution details, see these articles:

Détails spécifiques du connecteurConnector-specific details

Pour obtenir des informations techniques sur les déclencheurs, les actions et les limites de ce connecteur, consultez la page Informations de référence du connecteur.For technical information about this connector's triggers, actions, and limits, see the connector's reference page.

Étapes suivantesNext steps