Преобразование данных с помощью действия Stored Procedure SQL Server в Фабрике данных Azure или Synapse Analytics

Область применения:Фабрика данных Azure Azure Synapse Analytics

Совет

Попробуйте использовать фабрику данных в Microsoft Fabric, решение для аналитики с одним интерфейсом для предприятий. Microsoft Fabric охватывает все, от перемещения данных до обработки и анализа данных в режиме реального времени, бизнес-аналитики и отчетности. Узнайте, как бесплатно запустить новую пробную версию !

Действия преобразования данных в конвейере Фабрики данных или Synapse позволяют преобразовать необработанные данные в прогнозы и аналитические сведения. Действие Stored Procedure — это одно из действий преобразования данных, которые поддерживает конвейер. Данная статья основана на материалах статьи о преобразовании данных, в которой приведен общий обзор преобразования данных и список поддерживаемых действий преобразования.

Примечание.

Если вы не знакомы с фабрикой данных Azure, сначала ознакомьтесь со статьей Введение в фабрику данных Azure и руководством Преобразование данных в облаке с помощью действия Spark в фабрике данных Azure. Дополнительные сведения о Synapse Analytics см. в статье Что такое Azure Synapse Analytics?

C его помощью можно вызвать хранимую процедуру в одном из следующих хранилищ данных вашего предприятия или на виртуальной машине Azure.

  • База данных SQL Azure
  • Azure Synapse Analytics
  • База данных SQL Server. Если вы используете SQL Server, установите локальную среду выполнения интеграции на том же компьютере, на котором размещена база данных, или на отдельном компьютере, имеющем доступ к базе данных. Локальная среда выполнения интеграции — это компонент, который обеспечивает безопасное и управляемое подключение локальных источников данных или данных виртуальной машины Azure к облачным службам. Дополнительные сведения см. в статье Создание и настройка локальной среды выполнения интеграции.

Важно!

При копировании данных в базу данных SQL Azure или SQL Server можно настроить класс SqlSink в действии копирования для вызова хранимой процедуры с помощью свойства sqlWriterStoredProcedureName. Дополнительные сведения о свойствах см. в следующих статьях о соединителях: Перемещение данных в базу данных SQL Azure и из нее с помощью фабрики данных Azure и Перемещение данных в базу данных SQL Server и обратно на локальных компьютерах и виртуальных машинах Azure IaaS с помощью фабрики данных Azure. Вызов хранимой процедуры во время копирования данных в Azure Synapse Analytics с помощью операции копирования не поддерживается. Однако действие хранимой процедуры можно использовать для вызова хранимой процедуры в Azure Synapse Analytics.

При копировании данных из базы данных SQL Azure, SQL Server или Azure Synapse Analytics можно настроить в действии копирования SqlSource таким образом, чтобы хранимая процедура вызывалась для считывания данных из исходной базы данных с помощью свойства sqlReaderStoredProcedureName. Дополнительные сведения см. в статьях о соединителях Базы данных Azure SQL, SQL Server и Azure Synapse Analytics.

Если хранимая процедура имеет параметры выходных данных вместо использования действия хранимой процедуры, используйте действие поиска acitivty и script. Действие хранимой процедуры пока не поддерживает вызов SPs с параметром Output.

При вызове хранимой процедуры с выходными параметрами с помощью действия хранимой процедуры возникает следующая ошибка.

Сбой выполнения с sql server. Если вам нужна дополнительная поддержка, обратитесь в группу SQL Server. Номер ошибки SQL: 201. Сообщение об ошибке: процедура или функция "sp_name" ожидает параметр "@output_param_name", который не был указан.

Создание действия Stored Procedure с помощью пользовательского интерфейса

Чтобы использовать действие Stored Procedure в конвейере, выполните следующие действия:

  1. Выполните поиск Stored Procedure в области "Действия" конвейера и перетащите действие Stored Procedure на холст конвейера.

  2. Выберите новое действие Stored Procedure на панели холста, если оно еще не выбрано, и перейдите на вкладку Параметры, чтобы изменить сведения о нем.

    Shows the UI for a Stored Procedure activity.

  3. Выберите существующую или создайте новую связанную службу для Базы данных SQL Azure, Azure Synapse Analytics или SQL Server.

  4. Выберите хранимую процедуру и укажите параметры ее выполнения.

Сведения о синтаксисе

Ниже приведен формат JSON для определения действия хранимой процедуры:

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

        }
    }
}

В следующей таблице описаны эти свойства JSON:

Свойство Описание: Обязательное поле
name Имя действия. Да
description Текст, описывающий, для чего используется действие No
type Для действия хранимой процедуры используется тип действия SqlServerStoredProcedure. Да
linkedServiceName Ссылка на Базу данных SQL Azure, Azure Synapse Analytics или SQL Server, зарегистрированные в качестве связанной службы. Дополнительные сведения об этой связанной службе см. в статье Вычислительные среды, поддерживаемые фабрикой данных Azure. Да
storedProcedureName Укажите имя хранимой процедуры, которую нужно вызвать. Да
storedProcedureParameters Укажите значения для параметров хранимой процедуры. Используйте "param1": { "value": "param1Value","type":"param1Type" }, чтобы передать значения параметра и их тип, поддерживаемый источником данных. Если для параметра необходимо передать значение null, используйте синтаксис "param1": { "value": null } (все знаки в нижнем регистре). No

Сопоставление типов данных параметров

Тип данных, указываемый для параметра, представляет собой тип внутренней службы, который сопоставляется с типом в вашем источнике данных. Сопоставления типов данных для источника данных описаны в документации по соединителям. Например:

Ознакомьтесь со следующими ссылками, в которых описаны способы преобразования данных другими способами: