Freigeben über


Transformieren Sie Daten mithilfe der SQL Server Stored Procedure Aktivität in Azure Data Factory oder Synapse Analytics

Gilt für: Azure Data Factory Azure Synapse Analytics

Tipp

Data Factory in Microsoft Fabric ist die nächste Generation von Azure Data Factory mit einer einfacheren Architektur, integrierter KI und neuen Features. Wenn Sie mit der Datenintegration noch nicht vertraut sind, beginnen Sie mit Fabric Data Factory. Vorhandene ADF-Workloads können auf Fabric aktualisiert werden, um auf neue Funktionen in der Datenwissenschaft, Echtzeitanalysen und Berichterstellung zuzugreifen.

Sie verwenden Transformationsaktivitäten in einer Data Factory- oder Synapse-Pipeline, um Rohdaten in Vorhersagen und Erkenntnisse zu transformieren und zu verarbeiten. Die Stored Procedure-Aktivität ist eine der Transformationsaktivitäten, die Pipelines unterstützen. Dieser Artikel baut auf dem Artikel Transformieren von Daten auf, der eine allgemeine Übersicht über die Datentransformation und die unterstützten Transformationsaktivitäten bietet.

Hinweis

Wenn Sie neu bei Azure Data Factory sind, lesen Sie die Einführung in Azure Data Factory und führen Sie das Lernprogramm aus: Lernprogramm: Daten transformieren, bevor Sie diesen Artikel lesen. Weitere Informationen zu Synapse Analytics finden Sie unter What is Azure Synapse Analytics.

Sie können die Aktivität der gespeicherten Prozedur verwenden, um eine gespeicherte Prozedur in einem der folgenden Datenspeicher in Ihrem Unternehmen oder auf einem Azure virtuellen Computer (VM) aufzurufen:

  • Azure SQL-Datenbank
  • Azure Synapse Analytics
  • SQL Server Datenbank. Wenn Sie SQL Server verwenden, installieren Sie die Selbst gehostete Integrationslaufzeit auf demselben Computer, auf dem die Datenbank gehostet wird, oder auf einem separaten Computer, der Zugriff auf die Datenbank hat. Die selbstgehostete Integration Runtime ist eine Komponente, die lokale Datenquellen bzw. Datenquellen auf virtuellen Azure Computern mit Clouddiensten auf sichere und verwaltete Weise verbindet. Im Artikel Selbstgehostete Integration Runtime finden Sie Details.

Wichtig

Beim Kopieren von Daten in Azure SQL-Datenbank oder SQL Server können Sie die SqlSink in Kopieraktivität so konfigurieren, dass eine gespeicherte Prozedur mithilfe der eigenschaft sqlWriterStoredProcedureName aufgerufen wird. Ausführliche Informationen zur Eigenschaft finden Sie in den folgenden Connectorartikeln: Azure SQL-Datenbank, SQL Server. Das Aufrufen einer gespeicherten Prozedur beim Kopieren von Daten in eine Azure Synapse Analytics mithilfe einer Kopieraktivität wird nicht unterstützt. Sie können jedoch die Aktivität der gespeicherten Prozedur verwenden, um eine gespeicherte Prozedur in Azure Synapse Analytics aufzurufen.

Beim Kopieren von Daten aus Azure SQL-Datenbank oder SQL Server oder Azure Synapse Analytics können Sie SqlSource in Kopieraktivitäten konfigurieren, um eine gespeicherte Prozedur zum Lesen von Daten aus der Quelldatenbank mithilfe der Eigenschaft sqlReaderStoredProcedureName aufzurufen. Weitere Informationen finden Sie in den folgenden Connectorartikeln: Azure SQL-Datenbank, SQL Server, Azure Synapse Analytics

Wenn die gespeicherte Prozedur über Ausgabeparameter verfügt, anstatt gespeicherte Prozeduraktivitäten zu verwenden, verwenden Sie Lookupaktivitäten und Skriptaktivitäten. Die Aktivität der gespeicherten Prozedur unterstützt das Aufrufen von SPs mit Ausgabeparametern noch nicht.

Wenn Sie eine gespeicherte Prozedur mit Ausgabeparametern mithilfe der Aktivität der gespeicherten Prozedur aufrufen, tritt der folgende Fehler auf.

Ausführungsfehler gegen SQL Server. Wenden Sie sich an SQL Server Team, wenn Sie weitere Unterstützung benötigen. SQL-Fehlernummer: 201. Fehlermeldung: Die Prozedur oder Funktion „sp_name“ erwartet den Parameter „@output_param_name“, der nicht angegeben wurde.

Erstellen Sie eine Aktivität „Gespeicherte Prozedur“ mit der Benutzeroberfläche

Führen Sie die folgenden Schritte aus, um eine Aktivität „gespeicherte Prozedur“ in einer Pipeline zu verwenden:

  1. Suchen Sie im Bereich mit den Pipelineaktivitäten nach Gespeicherte Prozedur, und ziehen Sie eine Gespeicherte Prozedur-Aktivität auf die Pipeline-Arbeitsfläche.

  2. Wählen Sie auf der Zeichenfläche die neue Aktivität „Gespeicherte Prozedur“ aus (wenn sie noch nicht ausgewählt wurde) sowie die Registerkarte Einstellungen, um die Details zu bearbeiten.

    Zeigt die Benutzeroberfläche für die Aktivität „gespeicherte Prozedur“.

  3. Wählen Sie einen vorhandenen oder erstellen Sie einen neuen verknüpften Dienst mit einem Azure SQL-Datenbank, Azure Synapse Analytics oder SQL Server.

  4. Wählen Sie eine gespeicherte Prozedur aus, und geben Sie alle Parameter für ihre Ausführung an.

Syntaxdetails

So sieht das JSON-Format zum Definieren der Aktivität „Gespeicherte Prozedur“ aus:

{
    "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 der folgenden Tabelle werden diese JSON-Eigenschaften beschrieben:

Eigenschaft Beschreibung Erforderlich
Name Der Name der Aktivität Ja
Beschreibung Ein Text, der beschreibt, wofür die Aktivität verwendet wird. Nein
Typ Für die Aktivität „Gespeicherte Prozedur“ lautet der Aktivitätstyp SqlServerStoredProcedure. Ja
verknüpfterDienstname Verweisen Sie auf die Azure SQL-Datenbank, Azure Synapse Analytics oder SQL Server, die in der Data Factory als verknüpfter Dienst registriert sind. Weitere Informationen zu diesem verknüpften Dienst finden Sie im Artikel Verknüpfte Compute-Dienste. Ja
storedProcedureName Geben Sie den Namen der gespeicherten Prozedur an, die aufgerufen werden soll. Ja
gespeicherteProzedurParameter Geben Sie die Werte für Parameter der gespeicherten Prozedur an. Verwenden Sie "param1": { "value": "param1Value","type":"param1Type" } zum Übergeben von Parameterwerten und deren Typ, der von der Datenquelle unterstützt wird. Wenn Sie für einen Parameter „null“ übergeben müssen, verwenden Sie die folgende Syntax: "param1": { "value": null } (nur Kleinbuchstaben). Nein

Zuordnung von Parameterdatentypen

Der Datentyp, den Sie für den Parameter angeben, ist der interne Diensttyp, der dem Datentyp in der verwendeten Datenquelle zugeordnet ist. Sie finden die Datentypzuordnungen für Ihre Datenquelle in der Dokumentation zu Connectors. Zum Beispiel:

In den folgenden Artikeln erfahren Sie, wie Daten auf andere Weisen transformiert werden: