Mentransformasi data menggunakan aktivitas Prosedur Tersimpan SQL Server di Azure Data Factory atau Synapse Analytics

BERLAKU UNTUK:Azure Data Factory Azure Synapse Analytics

Tip

Cobalah Data Factory di Microsoft Fabric, solusi analitik all-in-one untuk perusahaan. Microsoft Fabric mencakup semuanya mulai dari pergerakan data hingga ilmu data, analitik real time, kecerdasan bisnis, dan pelaporan. Pelajari cara memulai uji coba baru secara gratis!

Anda menggunakan aktivitas transformasi data di alur Data Factory atau Synapse untuk mentransformasi dan memproses data mentah menjadi prediksi dan wawasan. Aktivitas Prosedur Tersimpan merupakan salah satu aktivitas transformasi yang didukung oleh alur. Artikel ini dibuat berdasarkan artikel data transformasi, yang memberikan gambaran umum tentang transformasi data dan aktivitas transformasi yang didukung.

Catatan

Jika Anda baru menggunakan Azure Data Factory, baca Pengantar Azure Data Factory dan lakukan tutorial: Tutorial: transformasi data sebelum membaca artikel ini. Untuk mempelajari lebih lanjut tentang Synapse Analytics, baca Apa itu Azure Synapse Analytics.

Anda dapat menggunakan Aktivitas Prosedur Tersimpan untuk mengaktifkan prosedur tersimpan di salah satu penyimpanan data berikut di perusahaan Anda atau di komputer virtual (VM) Azure:

  • Azure SQL Database
  • Azure Synapse Analytics
  • Database SQL Server. Jika Anda menggunakan SQL Server, pasang runtime integrasi yang dihost sendiri pada komputer yang sama yang menghost database atau pada komputer terpisah yang memiliki akses ke database. Runtime integrasi yang dihost sendiri adalah komponen yang menghubungkan sumber data di lokal/di Azure VM dengan layanan cloud dengan cara yang aman dan terkelola. Lihat artikel Runtime integrasi yang dihost sendiri untuk detailnya.

Penting

Saat menyalin data ke Azure SQL Database atau SQL Server, Anda dapat mengonfigurasi SqlSink dalam aktivitas salin untuk mengaktifkan prosedur tersimpan dengan menggunakan properti sqlWriterStoredProcedureName. Untuk detail tentang properti, lihat artikel konektor berikut: Azure SQL Database, SQL Server. Mengaktifkan prosedur tersimpan saat menyalin data ke Azure Synapse Analytics dengan menggunakan aktivitas salin tidak didukung. Namun, Anda dapat menggunakan aktivitas prosedur tersimpan untuk mengaktifkan prosedur tersimpan di Azure Synapse Analytics.

Saat menyalin data dari Azure SQL Database, SQL Server, atau Azure Synapse Analytics, Anda dapat mengonfigurasi SqlSource dalam aktivitas salin untuk mengaktifkan prosedur tersimpan untuk membaca data dari database sumber dengan menggunakan properti sqlReaderStoredProcedureName. Untuk mengetahui informasi selengkapnya, lihat artikel konektor berikut: Azure SQL Database, SQL Server, Azure Synapse Analytics

Ketika prosedur tersimpan memiliki parameter Output, alih-alih menggunakan aktivitas prosedur tersimpan, gunakan aktivitas acitivty dan Script pencarian. Aktivitas prosedur tersimpan belum mendukung panggilan SPs dengan parameter Output.

Jika Anda memanggil prosedur tersimpan dengan parameter output menggunakan aktivitas prosedur tersimpan, kesalahan berikut terjadi.

Eksekusi gagal terhadap server sql. Silakan hubungi tim SQL Server jika Anda memerlukan dukungan lebih lanjut. Nomor kesalahan Sql: 201. Pesan Kesalahan: Prosedur atau fungsi 'sp_name' mengharapkan parameter '@output_param_name', yang tidak disediakan.

Membuat aktivitas Prosedur Tersimpan dengan UI

Untuk menggunakan aktivitas Prosedur Tersimpan dalam alur, selesaikan langkah-langkah berikut:

  1. Cari Prosedur Tersimpan di panel Aktivitas alur, dan seret aktivitas Prosedur Tersimpan ke kanvas alur.

  2. Pilih aktivitas Prosedur Tersimpan baru di kanvas jika belum dipilih, dan tab Pengaturan-nya, untuk mengedit detailnya.

    Shows the UI for a Stored Procedure activity.

  3. Pilih yang sudah ada atau buat layanan tertaut baru ke Azure SQL Database, Azure Synapse Analytics, atau SQL Server.

  4. Pilih prosedur yang disimpan, dan berikan parameter apa pun untuk eksekusinya.

Detail sintaks

Berikut adalah format JSON untuk menentukan Aktivitas Prosedur Tersimpan:

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

        }
    }
}

Tabel berikut menjelaskan properti JSON ini:

Properti Deskripsi Wajib
nama Nama aktivitas Ya
description Teks yang menjelaskan untuk apa aktivitas tersebut digunakan No
jenis Untuk Aktivitas Prosedur Tersimpan, jenis aktivitasnya adalah SqlServerStoredProcedure Ya
linkedServiceName Referensi ke Azure SQL Database atau Azure Synapse Analytics atau SQL Server yang terdaftar sebagai layanan tertaut di Data Factory. Untuk mempelajari layanan tertaut ini, lihat artikel Layanan tertaut komputasi. Ya
storedProcedureName Tentukan nama prosedur tersimpan yang akan diaktifkan. Ya
storedProcedureParameters Tentukan nilai untuk parameter prosedur tersimpan. Gunakan "param1": { "value": "param1Value","type":"param1Type" } untuk meneruskan nilai parameter dan jenisnya yang didukung oleh sumber data. Jika Anda perlu meneruskan null untuk parameter, gunakan "param1": { "value": null } (semua huruf kecil). No

Pemetaan jenis data parameter

Jenis data yang Anda tentukan untuk parameter adalah jenis layanan internal yang memetakan ke jenis data di sumber data yang Anda gunakan. Anda dapat menemukan pemetaan jeni data untuk sumber data yang dijelaskan dalam dokumentasi konektor. Misalnya:

Lihat artikel berikut yang menjelaskan cara mentransformasikan data dengan cara lain: