Gegevens transformeren met behulp van de activiteit Opgeslagen procedure van SQL Server in Azure Data Factory of Synapse Analytics

VAN TOEPASSING OP: Azure Data Factory Azure Synapse Analytics

Tip

Probeer Data Factory uit in Microsoft Fabric, een alles-in-één analyseoplossing voor ondernemingen. Microsoft Fabric omvat alles, van gegevensverplaatsing tot gegevenswetenschap, realtime analyses, business intelligence en rapportage. Meer informatie over het gratis starten van een nieuwe proefversie .

U gebruikt activiteiten voor gegevenstransformatie in een Data Factory- of Synapse-pijplijn om onbewerkte gegevens te transformeren en te verwerken in voorspellingen en inzichten. De activiteit Opgeslagen procedure is een van de transformatieactiviteiten die door pijplijnen worden ondersteund. Dit artikel bouwt voort op het artikel over transformatiegegevens , waarin een algemeen overzicht wordt weergegeven van gegevenstransformatie en de ondersteunde transformatieactiviteiten.

Notitie

Als u geen kennis hebt met Azure Data Factory, leest u Inleiding tot Azure Data Factory en voert u de zelfstudie uit: Zelfstudie: gegevens transformeren voordat u dit artikel leest. Lees wat Azure Synapse Analytics is voor meer informatie over Synapse Analytics.

U kunt de activiteit Opgeslagen procedure gebruiken om een opgeslagen procedure aan te roepen in een van de volgende gegevensarchieven in uw onderneming of op een virtuele Azure-machine (VM):

  • Azure SQL Database
  • Azure Synapse Analytics
  • SQL Server Database. Als u SQL Server gebruikt, installeert u zelf-hostende Integration Runtime op dezelfde computer die als host fungeert voor de database of op een afzonderlijke computer die toegang heeft tot de database. Zelf-hostende integratieruntime is een onderdeel dat gegevensbronnen on-premises/on Azure VM verbindt met cloudservices op een veilige en beheerde manier. Zie het artikel over zelf-hostende Integration Runtime voor meer informatie.

Belangrijk

Wanneer u gegevens kopieert naar Azure SQL Database of SQL Server, kunt u de SqlSink in kopieeractiviteit configureren om een opgeslagen procedure aan te roepen met behulp van de eigenschap sqlWriterStoredProcedureName . Zie de volgende connectorartikelen voor meer informatie over de eigenschap: Azure SQL Database, SQL Server. Het aanroepen van een opgeslagen procedure tijdens het kopiëren van gegevens naar een Azure Synapse Analytics met behulp van een kopieeractiviteit wordt niet ondersteund. U kunt de opgeslagen procedureactiviteit echter gebruiken om een opgeslagen procedure aan te roepen in Azure Synapse Analytics.

Wanneer u gegevens kopieert uit Azure SQL Database of SQL Server of Azure Synapse Analytics, kunt u SqlSource configureren in kopieeractiviteit om een opgeslagen procedure aan te roepen voor het lezen van gegevens uit de brondatabase met behulp van de eigenschap sqlReaderStoredProcedureName. Zie de volgende connectorartikelen voor meer informatie: Azure SQL Database, SQL Server, Azure Synapse Analytics

Wanneer de opgeslagen procedure uitvoerparameters bevat in plaats van opgeslagen procedureactiviteit te gebruiken, gebruikt u opzoekactiviteit en scriptactiviteit. Opgeslagen procedureactiviteit biedt nog geen ondersteuning voor het aanroepen van IP's met de uitvoerparameter.

Als u een opgeslagen procedure aanroept met uitvoerparameters met behulp van opgeslagen procedureactiviteit, treedt de volgende fout op.

Uitvoering mislukt voor SQL Server. Neem contact op met het SQL Server-team als u verdere ondersteuning nodig hebt. Sql-foutnummer: 201. Foutbericht: Procedure of functie 'sp_name' verwacht parameter '@output_param_name', die niet is opgegeven.

Een opgeslagen procedureactiviteit maken met de gebruikersinterface

Voer de volgende stappen uit om een opgeslagen procedureactiviteit in een pijplijn te gebruiken:

  1. Zoek naar opgeslagen procedure in het deelvenster Pijplijnactiviteiten en sleep een opgeslagen procedureactiviteit naar het pijplijncanvas.

  2. Selecteer de nieuwe activiteit Opgeslagen procedure op het canvas als deze nog niet is geselecteerd en het bijbehorende tabblad Instellingen om de details ervan te bewerken.

    Shows the UI for a Stored Procedure activity.

  3. Selecteer een bestaande of maak een nieuwe gekoppelde service aan een Azure SQL Database, Azure Synapse Analytics of SQL Server.

  4. Kies een opgeslagen procedure en geef parameters op voor de uitvoering ervan.

Syntaxisdetails

Dit is de JSON-indeling voor het definiëren van een opgeslagen procedureactiviteit:

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

        }
    }
}

In de volgende tabel worden deze JSON-eigenschappen beschreven:

Eigenschappen Beschrijving Vereist
name Naam van de activiteit Ja
beschrijving Tekst waarin wordt beschreven waarvoor de activiteit wordt gebruikt Nee
type Voor opgeslagen procedureactiviteit is het activiteitstype SqlServerStoredProcedure Ja
linkedServiceName Verwijzing naar de Azure SQL Database of Azure Synapse Analytics of SQL Server die is geregistreerd als een gekoppelde service in Data Factory. Zie het artikel Gekoppelde services berekenen voor meer informatie over deze gekoppelde service. Ja
storedProcedureName Geef de naam op van de opgeslagen procedure die moet worden aangeroepen. Ja
storedProcedureParameters Geef de waarden op voor opgeslagen procedureparameters. Gebruik "param1": { "value": "param1Value","type":"param1Type" } dit om parameterwaarden en het bijbehorende type door te geven dat wordt ondersteund door de gegevensbron. Als u null wilt doorgeven voor een parameter, gebruikt "param1": { "value": null } u (allemaal kleine letters). Nee

Toewijzing van parametergegevenstypen

Het gegevenstype dat u voor de parameter opgeeft, is het interne servicetype dat is toegewezen aan het gegevenstype in de gegevensbron die u gebruikt. U vindt de toewijzingen van het gegevenstype voor uw gegevensbron die worden beschreven in de documentatie over connectors. Voorbeeld:

Zie de volgende artikelen waarin wordt uitgelegd hoe u gegevens op andere manieren kunt transformeren: