Connettersi a SQL Server o al database SQL di Azure - App per la logica di AzureConnect to SQL Server or Azure SQL Database from Azure Logic Apps

Questo articolo illustra come accedere ai dati del database SQL da un'app per la logica mediante il connettore SQL Server.This article shows how you can access data in your SQL database from inside a logic app with the SQL Server connector. In questo modo, è possibile automatizzare le attività, i processi e i flussi di lavoro che gestiscono i dati e le risorse SQL tramite la creazione di app per la logica.That way, you can automate tasks, processes, and workflows that manage your SQL data and resources by creating logic apps. Il connettore può essere usato sia per SQL Server in locale sia per il database SQL di Azure nel cloud.The connector works for both SQL Server on premises and for Azure SQL Database in the cloud.

È possibile creare app per la logica che vengono eseguite in seguito all'attivazione da eventi che si verificano nel database SQL o in altri sistemi, ad esempio 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. Le app per la logica possono anche recuperare, inserire ed eliminare dati, oltre a eseguire query SQL e stored procedure.Your logic apps can also get, insert, and delete data along with executing SQL queries and stored procedures. È possibile, ad esempio, creare un'app per la logica che verifichi automaticamente la presenza di nuovi record in Dynamics CRM Online, che aggiunga elementi al database SQL per ogni nuovo record e che invii avvisi tramite posta elettronica.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.

Se non si ha una sottoscrizione di Azure, iscriversi per creare un account Azure gratuito.If you don't have an Azure subscription, sign up for a free Azure account. Se non si ha familiarità con le app per la logica, leggere Informazioni su App per la logica di Azure e Guida introduttiva: Creare la prima app per la logica.If you're new to logic apps, review What is Azure Logic Apps and Quickstart: Create your first logic app. Per informazioni tecniche specifiche del connettore, vedere le informazioni di riferimento sul connettore SQL Server.For connector-specific technical information, see the SQL Server connector reference.

prerequisitiPrerequisites

  • L'app per la logica da cui accedere al database SQL.The logic app where you need access to your SQL database. Per avviare l'app per la logica con un trigger SQL, è necessario un'app per la logica vuota.To start your logic app with a SQL trigger, you need a blank logic app.

  • Un database SQL di Azure o un database SQL ServerAn Azure SQL database or a SQL Server database

    È necessario che le tabelle contengano dati in modo che l'app per la logica possa restituire un risultato quando si chiama un'operazione.Your tables must have data so that your logic app can return results when calling operations. Se si crea un database SQL di Azure, è possibile usare i database di esempio inclusi.If you create an Azure SQL Database, you can use sample databases, which are included.

  • Il nome del server SQL, il nome del database, il nome utente e la password.Your SQL server name, database name, your user name, and your password. Queste credenziali sono necessarie per autorizzare la logica ad accedere al server SQL.You need these credentials so that you can authorize your logic to access your SQL server.

    • Per il database SQL di Azure, è possibile trovare queste informazioni nella stringa di connessione o nel portale di Azure all'interno delle proprietà del database 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:<yourServerName>.database.windows.net,1433;Initial Catalog=<yourDatabaseName>;Persist Security Info=False;User ID=<yourUserName>;Password=<yourPassword>;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;""Server=tcp:<yourServerName>.database.windows.net,1433;Initial Catalog=<yourDatabaseName>;Persist Security Info=False;User ID=<yourUserName>;Password=<yourPassword>;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"

    • Per SQL Server, è possibile trovare queste informazioni nella stringa di connessione:For SQL Server, you can find these details in the connection string:

      "Server=<yourServerAddress>;Database=<yourDatabaseName>;User Id=<yourUserName>;Password=<yourPassword>;""Server=<yourServerAddress>;Database=<yourDatabaseName>;User Id=<yourUserName>;Password=<yourPassword>;"

  • Prima di poter connettere le app per la logica a sistemi locali, ad esempio a SQL Server, è necessario configurare un gateway dati locale.Before you can connect logic apps to on-premises systems, such as SQL Server, you must set up an on-premises data gateway. In questo modo, è possibile selezionare il gateway quando si crea la connessione SQL per l'app per la logica.That way, you can select the gateway when you create the SQL connection for your logic app.

Aggiungere un trigger SQLAdd SQL trigger

In App per la logica di Azure, ogni app per la logica deve essere avviata con un trigger, che viene attivato quando si verifica un determinato evento o quando viene soddisfatta una condizione specifica.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. Ogni volta che il trigger viene attivato, il motore di App per la logica crea un'istanza dell'app per la logica e avvia l'esecuzione del flusso di lavoro dell'app.Each time the trigger fires, the Logic Apps engine creates a logic app instance and starts running your app's workflow.

  1. Nel portale di Azure o in Visual Studio creare un'app per la logica vuota, che apre Progettazione app per la logica.In the Azure portal or Visual Studio, create a blank logic app, which opens Logic Apps Designer. Questo esempio usa il portale di Azure.This example uses the Azure portal.

  2. Nella casella di ricerca immettere "sql server" come filtro.In the search box, enter "sql server" as your filter. Nell'elenco dei trigger selezionare il trigger SQL desiderato.From the triggers list, select the SQL trigger that you want.

    Per questo esempio, selezionare il trigger: SQL Server - When an item is created (SQL Server - Quando viene creato un elemento)For this example, select this trigger: SQL Server - When an item is created

    Selezionare il trigger "SQL Server - When an item is created" (SQL Server - Quando viene creato un elemento)

  3. Se vengono richiesti i dettagli della connessione, creare ora la connessione SQL.If you're prompted for connection details, create your SQL connection now. Se la connessione esiste già, selezionare il nome tabella desiderato nell'elenco.Or, if your connection already exists, select the Table name that you want from the list.

    Selezionare una tabella

  4. Impostare le proprietà Intervallo e Frequenza per specificare la frequenza con cui l'app per la logica deve controllare la tabella.Set the Interval and Frequency properties, which specify how often your logic app checks the table.

    In questo esempio viene controllata solo la tabella selezionata.This example only checks the selected table, nothing else. Per effettuare operazioni più interessanti, aggiungere azioni che eseguano le attività desiderate.To do something more interesting, add actions that perform the tasks you want.

    Per visualizzare il nuovo elemento nella tabella, ad esempio, è possibile aggiungere altre azioni, come creare un file con i campi della tabella, e quindi inviare avvisi tramite posta elettronica.For example, to view the new item in the table, you might add other actions, such as create a file that has fields from the table, and then send email alerts. Per informazioni sulle altre azioni disponibili per questo e per altri connettori, vedere Connettori di App per la logica.To learn about other actions for this connector or other connectors, see Logic Apps connectors.

  5. Al termine, nella barra degli strumenti della finestra di progettazione scegliere Salva.When you're done, on the designer toolbar, choose Save.

    Con questo passaggio l'app per la logica viene automaticamente abilitata e pubblicata in Azure.This step automatically enables and publishes your logic app live in Azure.

Aggiungere un'azione SQLAdd SQL action

In App per la logica di Azure, un'azione è un passaggio del flusso di lavoro che segue un trigger o un'altra azione.In Azure Logic Apps, an action is a step in your workflow that follows a trigger or another action. In questo esempio, l'app per la logica inizia con il trigger di ricorrenzae chiama un'azione che ottiene una riga da un database 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. Nel portale di Azure o in Visual Studio aprire l'app per la logica in Progettazione app per la logica.In the Azure portal or Visual Studio, open your logic app in Logic Apps Designer. Questo esempio usa il portale di Azure.This example uses the Azure portal.

  2. In Progettazione app per la logica, sotto il trigger o l'azione, scegliere Nuovo passaggio > Aggiungi un'azione.In the Logic App Designer, under the trigger or action, choose New step > Add an action.

    Scegliere "Nuovo passaggio", "Aggiungi un'azione"

    Per aggiungere un'azione tra due passaggi esistenti, posizionare il puntatore del mouse sulla freccia di connessione.To add an action between existing steps, move your mouse over the connecting arrow. Fare clic sul segno più (+) visualizzato e quindi scegliere Aggiungi un'azione.Choose the plus sign (+) that appears, and then choose Add an action.

  3. Nella casella di ricerca immettere "sql server" come filtro.In the search box, enter "sql server" as your filter. Nell'elenco delle azioni scegliere l'azione SQL desiderata.From the actions list, select any SQL action that you want.

    Per questo esempio, selezionare questa azione in modo da ottenere un singolo record: SQL Server - Get row (SQL Server - Ottieni riga)For this example, select this action, which gets a single record: SQL Server - Get row

    Immettere "sql server", selezionare "SQL Server - Get row" (SQL Server - Ottieni riga)

  4. Se vengono richiesti i dettagli della connessione, creare ora la connessione SQL.If you're prompted for connection details, create your SQL connection now. Se la connessione esiste già, selezionare un nome tabella e immettere l'ID riga relativo al record desiderato.Or, if your connection exists, select a Table name, and enter the Row ID for the record that you want.

    Immettere il nome della tabella e l'ID di riga

    In questo esempio viene restituita solo una riga della tabella selezionata.This example returns only one row from the selected table, nothing else. Per visualizzare i dati contenuti nella riga è possibile aggiungere altre azioni che consentono di creare un file con i campi della riga, da rivedere in seguito, e archiviare il file in un account di archiviazione cloud.To view the data in this row, you might add other actions that create a file with fields from the row for later review, and store that file in a cloud storage account. Per informazioni sulle altre azioni disponibili in questo o in altri connettori, vedere Connettori di App per la logica.To learn about other actions in this connector or other connectors, see Logic Apps connectors.

  5. Al termine, nella barra degli strumenti della finestra di progettazione scegliere Salva.When you're done, on the designer toolbar, choose Save.

Connettersi al databaseConnect to your database

Per consentire all'app per la logica di accedere a un servizio, è prima necessario creare una connessione tra l'app per la logica e il servizio.Before your logic app can access any service, you must create a connection between your logic app and that service. Se la connessione non è stata creata in precedenza, le informazioni sulla connessione vengono chieste quando si aggiunge un trigger o un'azione per tale servizio all'app per la logica.If you didn't previously create this connection, you're prompted for connection information when you add a trigger or action for that service to your logic app. Progettazione app per la logica consente di creare questa connessione in modo semplice direttamente dall'app per la logica.The Logic Apps Designer provides an easy way for you to create this connection directly from your logic app.

Connettersi al database SQL di AzureConnect to Azure SQL Database

  1. Quando il trigger o l'azione SQL richiede informazioni di connessione, seguire questa procedura:When the SQL trigger or action prompts you for connection information, follow these steps:

    1. Creare un nome per la connessione.Create a name for your connection.

    2. Selezionare il server SQL e quindi selezionare il database.Select your SQL server, and then select your database.

      L'elenco dei database viene visualizzatolo solo dopo aver selezionato il server SQL.The database list appears only after you select your SQL server.

    3. Specificare nome utente e password per il server.Provide your user name and password for your server.

      È possibile trovare queste informazioni nel portale di Azure tra le proprietà del database SQL o nella stringa di connessione:You can find this information either in the Azure portal under your SQL database properties or in your connection string:

      "User ID=<NomeUtente>""User ID=<yourUserName>"
      "Password=<Password>""Password=<yourPassword>"

    Questo esempio mostra le informazioni di connessione per un trigger, ma questa procedura è valida anche per le azioni.This example shows the connection information for a trigger, but these steps work for actions too.

    Creare una connessione al database SQL di Azure Create Azure SQL Database connection
    Gli asterischi (*) indicano valori obbligatori.Asterisks (*) indicate required values.

    ProprietàProperty ValoreValue DettagliDetails
    Connection Name (Nome connessione)Connection Name <my-sql-connection><my-sql-connection> Nome per la connessioneThe name for your connection
    Nome server SQLSQL Server Name <my-sql-server><my-sql-server> Nome del server SQLThe name for your SQL server
    Nome del database SQLSQL Database Name <my-sql-database><my-sql-database> Nome del database SQLThe name for your SQL database
    UsernameUsername <my-sql-username><my-sql-username> Nome utente per l'accesso al databaseThe user name for accessing your database
    PasswordPassword <my-sql-password><my-sql-password> Password per l'accesso al databaseThe password for accessing your database
  2. Al termine dell'operazione, scegliere Crea.When you're done, choose Create.

  3. Dopo aver creato la connessione, continuare con Aggiungere un trigger SQL oppure Aggiungere un'azione SQL.After you create your connection, continue with Add SQL trigger or Add SQL action.

Connettersi a SQL ServerConnect to SQL Server

Prima di poter selezionare il gateway, assicurarsi di avere già configurato il gateway dati.Before you can select your gateway, make sure that you already set up your data gateway. In questo modo, il gateway viene visualizzato nell'elenco dei gateway quando si crea la connessione.That way, your gateway appears in the gateways list when you create your connection.

  1. Quando il trigger o l'azione SQL richiede informazioni di connessione, seguire questa procedura:When the SQL trigger or action prompts you for connection information, follow these steps:

    1. Nel trigger o nell'azione selezionare Connetti tramite gateway dati locale in modo che vengano visualizzate le opzioni del server SQL.In the trigger or action, select Connect via on-premise data gateway so that the SQL server options appear.

    2. Creare un nome per la connessione.Create a name for your connection.

    3. Specificare l'indirizzo per il server SQL e quindi specificare il nome del database.Provide the address for your SQL server, then provide the name for your database.

      È possibile trovare queste informazioni nella stringa di connessione:You can find this information in your connection string:

      • "Server = <IndirizzoServer>""Server=<yourServerAddress>"
      • "Database = <NomeDatabase>""Database=<yourDatabaseName>"
    4. Specificare nome utente e password per il server.Provide your user name and password for your server.

      È possibile trovare queste informazioni nella stringa di connessione:You can find this information in your connection string:

      • "User ID=<NomeUtente>""User ID=<yourUserName>"
      • "Password=<Password>""Password=<yourPassword>"
    5. Se il server SQL usa l'autenticazione di base o di Windows, selezionare il tipo di autenticazione.If your SQL server uses Windows or Basic authentication, select the authentication type.

    6. Selezionare il nome per il gateway dati locale creato in precedenza.Select the name for your on-premises data gateway that you previously created.

      Se il gateway non compare nell'elenco, verificare di avere configurato il gateway correttamente.If your gateway doesn't appear in the list, check that you correctly set up your gateway.

    Questo esempio mostra le informazioni di connessione per un trigger, ma questa procedura è valida anche per le azioni.This example shows the connection information for a trigger, but these steps work for actions too.

    Creare la connessione a SQL Server Create SQL Server connection
    Gli asterischi (*) indicano valori obbligatori.Asterisks (*) indicate required values.

    ProprietàProperty ValoreValue DettagliDetails
    Connetti tramite gateway dati localeConnect via on-premise gateway Selezionare prima di tutto questa opzione per le impostazioni di SQL Server.Select this option first for SQL Server settings.
    Connection Name (Nome connessione)Connection Name <my-sql-connection><my-sql-connection> Nome per la connessioneThe name for your connection
    Nome server SQLSQL Server Name <my-sql-server><my-sql-server> Nome del server SQLThe name for your SQL server
    Nome del database SQLSQL Database Name <my-sql-database><my-sql-database> Nome del database SQLThe name for your SQL database
    UsernameUsername <my-sql-username><my-sql-username> Nome utente per l'accesso al databaseThe user name for accessing your database
    PasswordPassword <my-sql-password><my-sql-password> Password per l'accesso al databaseThe password for accessing your database
    Tipo di autenticazioneAuthentication Type Windows o Di baseWindows or Basic Facoltativo: Il tipo di autenticazione usato dal server SQLOptional: The authentication type used by your SQL server
    GatewayGateways <my-data-gateway><my-data-gateway> Nome del gateway dati localeThe name for your on-premises data gateway
  2. Al termine dell'operazione, scegliere Crea.When you're done, choose Create.

  3. Dopo aver creato la connessione, continuare con Aggiungere un trigger SQL oppure Aggiungere un'azione SQL.After you create your connection, continue with Add SQL trigger or Add SQL action.

Elaborare i dati in bulkProcess data in bulk

Se si usano set di risultati di dimensioni tali che il connettore non riesce a restituire tutti i risultati contemporaneamente o se si vuole un controllo migliore sulle dimensioni e sulla struttura dei set di risultati, è possibile usare la paginazione, che consente di gestire i risultati in set più piccoli.When you 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, you can use pagination, which helps you manage those results as smaller sets.

Configurare la paginazioneSet up pagination

Per alcuni connettori e le relative azioni che consentono di recuperare più elementi, i risultati potrebbero superare le dimensioni di pagina predefinite del connettore.For some connectors and their actions that retrieve multiple items, your results might exceed the connector's default page size. In questo caso, l'azione restituisce solo la prima pagina di risultati.In this case, the action returns only the first page of results. Ad esempio, le dimensioni di pagina predefinite per l'azione SQL Server - Ottieni righe sono 2048, ma potrebbero essere diverse in base alle altre impostazioni.For example, the default page size for the SQL Server - Get rows action is 2048, but might differ based on other settings. Per assicurarsi di ottenere tutti i record, attivare l'impostazione Paginazione per l'azione.To make sure you get all the records, turn on the Pagination setting for that action. Con questa impostazione, l'app per la logica richiede al connettore i rimanenti record, ma restituisce tutti i risultati come singolo messaggio al termine dell'azione.This setting has your logic app ask the connector for the remaining records, but return all the results as a single message when the action finishes.

Ecco solo alcuni dei connettori in cui è possibile attivare la paginazione per azioni specifiche:Here are just some connectors where you can turn on pagination for specific actions:

Di seguito è riportato un esempio per l'azione Ottieni righe:Here is an example for the Get rows action:

  1. Per verificare se l'azione supporta la paginazione, aprire le Impostazioni dell'azione.To find whether the action supports pagination, open the action's Settings.

    Aprire "Impostazioni" per l'azione

  2. Se l'azione supporta la paginazione, modificare l'impostazione Paginazione da No a .If the action supports pagination, change the Pagination setting from Off to On. Per assicurarsi che l'azione restituisca un set minimo di risultati, specificare un valore per Limite.To make sure that the action returns a minimum set of results, specify a value for Limit.

    Specificare un numero minimo di risultati per l'azione

  3. Al termine, scegliere Fine.When you're ready, choose Done.

Creare una stored procedureCreate a stored procedure

Se si ottengono o si inseriscono più righe, l'app per la logica può scorrere questi elementi usando un ciclo Until nell'ambito di questi limiti.When getting or inserting multiple rows, your logic app can iterate through these items by using an until loop within these limits. In alcuni casi, tuttavia, l'app per la logica deve interagire con set di record talmente grandi, ad esempio migliaia o milioni di righe, che si vuole ridurre al minimo i costi delle chiamate al database.But, sometimes your logic app has to work with record sets so large, such as thousands or millions of rows, that you want to minimize the costs for calls to the database.

In questi casi, è possibile creare una stored procedure in modo che venga eseguita nell'istanza di SQL e usi l'istruzione SELECT - ORDER BY per organizzare i risultati nel modo desiderato.Instead, you can create a stored procedure that runs in your SQL instance and uses the SELECT - ORDER BY statement to organize the results the way you want. Questa soluzione consente di controllare meglio le dimensioni e la struttura dei risultati.This solution gives you more control over the size and structure of your results. L'app per logica chiama la stored procedure usando l'azione Esegui stored procedure del connettore SQL Server.Your logic app calls the stored procedure by using the SQL Server connector's Execute stored procedure action.

Per informazioni dettagliate sulla soluzione, vedere gli articoli seguenti:For solution details, see these articles:

Dettagli specifici del connettoreConnector-specific details

Per informazioni tecniche sui trigger, le azioni e i limiti di questo connettore, vedere le informazioni di riferimento relative al connettore.For technical information about this connector's triggers, actions, and limits, see the connector's reference details.

Passaggi successiviNext steps