Trasformare dati tramite l'attività stored procedure di SQL Server in Azure Data FactoryTransform data by using the SQL Server Stored Procedure activity in Azure Data Factory

Le attività di trasformazione dei dati in una pipeline di Data factory trasformano ed elaborano i dati non elaborati in stime e approfondimenti.You use data transformation activities in a Data Factory pipeline to transform and process raw data into predictions and insights. L'attività di stored procedure è una delle attività di trasformazione supportate da Data factory.The Stored Procedure Activity is one of the transformation activities that Data Factory supports. Questo articolo si basa sull'articolo relativo alla trasformazione dei dati, che offre una panoramica generale della trasformazione dei dati e delle attività di trasformazione supportate in Data Factory.This article builds on the transform data article, which presents a general overview of data transformation and the supported transformation activities in Data Factory.

Nota

Se non si ha familiarità con Azure Data Factory, prima di leggere questo articolo leggere l'introduzione ad Azure Data Factory ed eseguire Tutorial: transform data (Esercitazione: Trasformare i dati).If you are new to Azure Data Factory, read through Introduction to Azure Data Factory and do the tutorial: Tutorial: transform data before reading this article.

È possibile usare l'attività stored procedure per richiamare una stored procedure in uno dei seguenti archivi dati presenti in azienda o in una macchina virtuale di Azure:You can use the Stored Procedure Activity to invoke a stored procedure in one of the following data stores in your enterprise or on an Azure virtual machine (VM):

  • database SQL di AzureAzure SQL Database
  • SQL Data Warehouse di AzureAzure SQL Data Warehouse
  • Database di SQL Server.SQL Server Database. Se si usa SQL Server, è necessario installare Runtime di integrazione (self-hosted) nello stesso computer che ospita il database o in un computer separato che ha accesso al database.If you are using SQL Server, install Self-hosted integration runtime on the same machine that hosts the database or on a separate machine that has access to the database. Runtime di integrazione (self-hosted) è un componente che connette in modo sicuro e gestito origini dati presenti in locale o in macchine virtuali di Azure ai servizi cloud.Self-Hosted integration runtime is a component that connects data sources on-premises/on Azure VM with cloud services in a secure and managed way. Per i dettagli, vedere l'articolo Runtime di integrazione self-hosted.See Self-hosted integration runtime article for details.

Importante

Quando si copiano dati in SQL Server o nel Database SQL di Azure, è possibile configurare SqlSink nell'attività di copia per richiamare una stored procedure tramite la proprietà sqlWriterStoredProcedureName.When copying data into Azure SQL Database or SQL Server, you can configure the SqlSink in copy activity to invoke a stored procedure by using the sqlWriterStoredProcedureName property. Per informazioni dettagliate sulla proprietà, vedere gli articoli connettore seguenti: Database SQL di Azure, SQL Server.For details about the property, see following connector articles: Azure SQL Database, SQL Server. Non è possibile richiamare una stored procedure durante la copia dei dati in un Azure SQL Data Warehouse tramite un'attività di copia.Invoking a stored procedure while copying data into an Azure SQL Data Warehouse by using a copy activity is not supported. Tuttavia, è possibile usare l'attività di stored procedure per richiamare una stored procedure in un SQL Data Warehouse.But, you can use the stored procedure activity to invoke a stored procedure in a SQL Data Warehouse.

Quando si copiano dati in SQL Server, nel Database SQL di Azure o in Azure SQL Data Warehouse, è possibile configurare SqlSink nell'attività di copia per richiamare una stored procedure che consenta di leggere i dati dal database di origine tramite la proprietà sqlReaderStoredProcedureName.When copying data from Azure SQL Database or SQL Server or Azure SQL Data Warehouse, you can configure SqlSource in copy activity to invoke a stored procedure to read data from the source database by using the sqlReaderStoredProcedureName property. Per altre informazioni, vedere gli articoli connettore seguenti: Database SQL di Azure, SQL Server, Azure SQL Data WarehouseFor more information, see the following connector articles: Azure SQL Database, SQL Server, Azure SQL Data Warehouse

Dettagli sintassiSyntax details

Di seguito è riportato il formato JSON per la definizione di un'attività di Stored Procedure:Here is the JSON format for defining a Stored Procedure Activity:

{
    "name": "Stored Procedure Activity",
    "description":"Description",
    "type": "SqlServerStoredProcedure",
    "linkedServiceName": {
        "referenceName": "AzureSqlLinkedService",
        "type": "LinkedServiceReference"
    },
    "typeProperties": {
        "storedProcedureName": "usp_sample",
        "storedProcedureParameters": {
            "identifier": { "value": "1", "type": "Int" },
            "stringData": { "value": "str1" }

        }
    }
}

La tabella seguente illustra queste proprietà JSON:The following table describes these JSON properties:

ProprietàProperty DescriptionDescription ObbligatoriaRequired
namename Nome dell'attivitàName of the activity Yes
descriptiondescription Testo descrittivo per lo scopo dell'attivitàText describing what the activity is used for NoNo
typetype Per l'attività stored procedure, il tipo di attività corrisponde a SqlServerStoredProcedureFor Stored Procedure Activity, the activity type is SqlServerStoredProcedure Yes
linkedServiceNamelinkedServiceName Riferimento al database SQL di Azure, ad Azure SQL Data Warehouse o a SQL Server registrato come servizio collegato in Data Factory.Reference to the Azure SQL Database or Azure SQL Data Warehouse or SQL Server registered as a linked service in Data Factory. Per informazioni su questo servizio collegato, vedere l'articolo Servizi collegati di calcolo.To learn about this linked service, see Compute linked services article. Yes
storedProcedureNamestoredProcedureName Specificare il nome della stored procedure da richiamare.Specify the name of the stored procedure to invoke. Yes
storedProcedureParametersstoredProcedureParameters Specificare i valori dei parametri della stored procedure.Specify the values for stored procedure parameters. Usare "param1": { "value": "param1Value","type":"param1Type" } per passare i valori dei parametri e i tipi nativi corrispondenti supportati dall'origine dati.Use "param1": { "value": "param1Value","type":"param1Type" } to pass parameter values and their type supported by the data source. Se per un parametro è necessario passare Null, usare "param1": { "value": null } (tutte lettere minuscole).If you need to pass null for a parameter, use "param1": { "value": null } (all lower case). NoNo

Mapping dei tipi di dati dei parametriParameter data type mapping

Il tipo di dati specificato per il parametro è il tipo di Azure Data Factory che esegue il mapping al tipo di dati nell'origine dati in uso.The data type you specify for the parameter is the Azure Data Factory type that maps to the data type in the data source you are using. È possibile trovare i mapping dei tipi di dati per l'origine dati nell'area connettori.You can find the data type mappings for your data source in the connectors area. Alcuni esempi sonoSome examples are

origine datiData Source Mapping dei tipi di datiData Type Mapping
SQL Data Warehouse di AzureAzure SQL Data Warehouse https://docs.microsoft.com/azure/data-factory/connector-azure-sql-data-warehouse#data-type-mapping-for-azure-sql-data-warehouse
database SQL di AzureAzure SQL Database https://docs.microsoft.com/azure/data-factory/connector-azure-sql-database#data-type-mapping-for-azure-sql-database
OracleOracle https://docs.microsoft.com/azure/data-factory/connector-oracle#data-type-mapping-for-oracle
SQL ServerSQL Server https://docs.microsoft.com/azure/data-factory/connector-sql-server#data-type-mapping-for-sql-server

Informazioni sull'erroreError info

Quando una stored procedure ha esito negativo e restituisce i dettagli dell'errore, non è possibile acquisire le informazioni sull'errore direttamente nell'output dell'attività.When a stored procedure fails and returns error details, you can't capture the error info directly in the activity output. Tuttavia, Data Factory invia tutti gli eventi di esecuzione attività a Monitoraggio di Azure.However, Data Factory pumps all of its activity run events to Azure Monitor. Oltre a inviare gli eventi a Monitoraggio di Azure, Data Factory esegue il push dei dettagli degli errori.Among the events that Data Factory pumps to Azure Monitor, it pushes error details there. È possibile, ad esempio, configurare avvisi tramite posta elettronica da questi eventi.You can, for example, set up email alerts from those events. Per altre informazioni, vedere Avvisi e monitoraggio delle data factory con Monitoraggio di Azure.For more info, see Alert and Monitor data factories using Azure Monitor.

Passaggi successiviNext steps

Vedere gli articoli seguenti che illustrano come trasformare i dati in altri modi:See the following articles that explain how to transform data in other ways: