Trasformare i dati usando l'attività stored procedure di SQL Server in Azure Data Factory o Synapse Analytics

SI APPLICA A: Azure Data Factory Azure Synapse Analytics

Suggerimento

Provare Data Factory in Microsoft Fabric, una soluzione di analisi completa per le aziende. Microsoft Fabric copre tutti gli elementi, dallo spostamento dei dati all'analisi scientifica dei dati, all'analisi in tempo reale, alla business intelligence e alla creazione di report. Scopri come avviare gratuitamente una nuova versione di valutazione .

Le attività di trasformazione dei dati vengono usate in una pipeline di Data Factory o Synapse per trasformare ed elaborare dati non elaborati in stime e informazioni dettagliate. L'attività stored procedure è una delle attività di trasformazione supportate dalle pipeline. Questo articolo si basa sull'articolo trasformare i dati , che presenta una panoramica generale della trasformazione dei dati e delle attività di trasformazione supportate.

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). Per altre informazioni su Synapse Analytics, vedere Informazioni su Azure Synapse Analytics.

È 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:

  • database SQL di Azure
  • Azure Synapse Analytics
  • Database di SQL Server. 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. 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. Per i dettagli, vedere l'articolo Runtime di integrazione self-hosted.

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. Per informazioni dettagliate sulla proprietà, vedere gli articoli connettore seguenti: Database SQL di Azure, SQL Server. La chiamata di una stored procedure durante la copia dei dati in Azure Synapse Analytics tramite un'attività di copia non è supportata. È tuttavia possibile usare l'attività della stored procedure per richiamare una stored procedure in Azure Synapse Analytics.

Quando si copiano dati da database SQL di Azure o SQL Server o Azure Synapse Analytics, è possibile configurare SqlSource nell'attività di copia per richiamare una stored procedure per leggere i dati dal database di origine usando la proprietà sqlReaderStoredProcedureName. Per altre informazioni, vedere gli articoli del connettore seguenti: database SQL di Azure, SQL Server, Azure Synapse Analytics

Quando la stored procedure ha parametri di output, anziché usare l'attività stored procedure, usare l'attività di ricerca acitivty e script. L'attività stored procedure non supporta ancora la chiamata di provider di servizi con il parametro Output.

Se si chiama una stored procedure con parametri di output usando l'attività stored procedure, si verifica l'errore seguente.

L'esecuzione ha esito negativo rispetto a sql server. Se è necessario ulteriore supporto, contattare il team di SQL Server. Numero errore SQL: 201. Messaggio di errore: la routine o la funzione 'sp_name' prevede il parametro '@output_param_name', che non è stato specificato.

Creare un'attività stored procedure con l'interfaccia utente

Per usare un'attività stored procedure in una pipeline, seguire questa procedura:

  1. Cercare Stored procedure nel riquadro Attività pipeline e trascinare un'attività stored procedure nell'area di disegno della pipeline.

  2. Selezionare la nuova attività Stored procedure nell'area di disegno se non è già selezionata e la relativa scheda Impostazioni per modificarne i dettagli.

    Shows the UI for a Stored Procedure activity.

  3. Selezionare un servizio collegato esistente o crearne uno nuovo in un database SQL di Azure, Azure Synapse Analytics o SQL Server.

  4. Scegliere una stored procedure e specificare i parametri per l'esecuzione.

Dettagli sintassi

Di seguito è riportato il formato JSON per la definizione di un'attività di Stored Procedure:

{
    "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:

Proprietà Descrizione Obbligatoria
name Nome dell'attività
description Testo descrittivo per lo scopo dell'attività No
type Per l'attività stored procedure, il tipo di attività corrisponde a SqlServerStoredProcedure
linkedServiceName Informazioni di riferimento sulle database SQL di Azure o Azure Synapse Analytics o SQL Server registrate come servizio collegato in Data Factory. Per informazioni su questo servizio collegato, vedere l'articolo Servizi collegati di calcolo.
storedProcedureName Specificare il nome della stored procedure da richiamare.
storedProcedureParameters Specificare i valori dei parametri della stored procedure. Usare "param1": { "value": "param1Value","type":"param1Type" } per passare i valori dei parametri e i tipi nativi corrispondenti supportati dall'origine dati. Se per un parametro è necessario passare Null, usare "param1": { "value": null } (tutte lettere minuscole). No

Mapping dei tipi di dati dei parametri

Il tipo di dati specificato per il parametro è il tipo di servizio interno mappato al tipo di dati nell'origine dati in uso. È possibile trovare i mapping dei tipi di dati per l'origine dati descritta nella documentazione dei connettori. Ad esempio:

Vedere gli articoli seguenti, che illustrano altre modalità di trasformazione dei dati: