تحويل البيانات باستخدام نشاط الإجراء المخزّن في SQL Server في Synapse Analytics أو Azure Data Factory

ينطبق على:Azure Data Factory Azure Synapse Analytics

تلميح

جرب Data Factory في Microsoft Fabric، وهو حل تحليلي متكامل للمؤسسات. يغطي Microsoft Fabric كل شيء بدءا من حركة البيانات إلى علم البيانات والتحليلات في الوقت الحقيقي والمعلومات المهنية وإعداد التقارير. تعرف على كيفية بدء إصدار تجريبي جديد مجانا!

يُمكنك استخدام أنشطة تحويل البيانات في مسار Synapse أو Data Factory لتحويل البيانات الأولية ومعالجتها إلى تنبؤات ونتائج معرفية. نشاط الإجراء المخزّن هو أحد أنشطة التحويل التي تدعمها المسارات. تعتمد هذه المقالة على مقالة تحويل البيانات، والتي تقدم نظرة عامة على تحويل البيانات وأنشطة التحويل المدعومة.

إشعار

إذا كنت مستخدماً جديداً لخدمة Azure Data Factory، فاقرأ مقدمة إلى Azure Data Factory ونفذ البرنامج التعليمي: البرنامج التعليمي: تحويل البيانات قبل قراءة هذه المقالة. لمعرفة المزيد حول Synapse Analytics، اقرأ مقالة ما هي Azure Synapse Analytics.

يمكنك استخدام "نشاط الإجراء المخزن" لاستدعاء إجراء مخزن في أحد مخازن البيانات التالية في المؤسسة أو على جهاز Azure الظاهري:

  • قاعدة بيانات Azure SQL
  • Azure Synapse Analytics
  • قاعدة بيانات Microsoft SQL Server. إذا كنت تستخدم SQL Server، قم بتثبيت وقت تشغيل التكامل المستضاف ذاتياً على نفس الجهاز الذي يستضيف قاعدة البيانات أو على جهاز منفصل لديه حق الوصول إلى قاعدة البيانات. وقت تشغيل التكامل المستضاف ذاتياً هو مكوّن يربط مصادر البيانات المحلية / على جهاز Azure الظاهري بالخدمات السحابية بطريقة آمنة ومُدارة. راجع مقالة وقت تشغيل التكامل المستضاف ذاتياً للحصول على التفاصيل.

هام

عند نسخ البيانات إلى قاعدة بيانات Azure SQL أو SQL Server، يمكنك تكوين SqlSink في نشاط النسخ لاستدعاء إجراء مخزن باستخدام الخاصية sqlWriterStoredProcedureName. للحصول على تفاصيل حول الخاصية، راجع مقالات الموصل التالية: Azure SQL Database، وSQL Server. إن استدعاء إجراء مخزّن أثناء نسخ البيانات إلى Azure Synapse Analytics باستخدام نشاط نسخ غير مدعوم. ولكن، يمكنك استخدام نشاط الإجراء المخزن لاستدعاء إجراء مخزن في تحليلات Azure Synapse.

عند نسخ البيانات من Azure SQL Database أو SQL Server أو Azure Synapse Analytics، يُمكنك تكوين SqlSource في نشاط النسخ لاستدعاء إجراء مخزّن لقراءة البيانات من قاعدة البيانات المصدر باستخدام الخاصية sqlReaderStoredProcedureName. لمزيد من المعلومات، راجع مقالات الموصل التالية: قاعدة بيانات Azure SQL، و Microsoft SQL Server، و تحليلات Azure Synapse

عندما يحتوي الإجراء المخزن على معلمات الإخراج، بدلا من استخدام نشاط الإجراء المخزن، استخدم استشهاد البحث ونشاط البرنامج النصي. لا يدعم نشاط الإجراء المخزن استدعاء SPs مع معلمة الإخراج حتى الآن.

إذا قمت باستدعاء إجراء مخزن مع معلمات الإخراج باستخدام نشاط الإجراء المخزن، يحدث الخطأ التالي.

فشل التنفيذ مقابل sql server. يرجى الاتصال بفريق SQL Server إذا كنت بحاجة إلى مزيد من الدعم. رقم الخطأ Sql: 201. رسالة الخطأ: يتوقع الإجراء أو الدالة "sp_name" المعلمة "@output_param_name"، والتي لم يتم توفيرها.

إنشاء نشاط إجراء مخزن باستخدام واجهة المُستخدم

لاستخدام نشاط إجراء مخزن في البنية الأساسية، أكمل الخطوات التالية:

  1. ابحث عن الإجراء المخزن فـي جزء أنشطة البنية الأساسية لبرنامج ربط العمليات التجارية، واسحب نشاط الإجراء المخزن إلى لوحة البنية الأساسية لبرنامج ربط العمليات التجارية.

  2. حدد نشاط إجراء مخزّن جديد على اللوحة إذا لم يكن محددًا بالفعل، وحدد علامة التبويب Settings(الإعدادات) الخاصة به لتحرير تفاصيله.

    Shows the UI for a Stored Procedure activity.

  3. حـدد خدمة مرتبطة موجودة أو أنشئ خدمة مرتبطة جديدة بقاعدة بيانات Azure SQL أو 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 هذه:

الخاصية الوصف مطلوب
الاسم تسمية النشاط ‏‏نعم‬
الوصف نص يوضح الغرض من استخدام النشاط لا
النوع بالنسبة لنشاط الإجراء المخزّن، فإن نوع النشاط هو SqlServerStoredProcedure ‏‏نعم‬
linkedServiceName الرجوع إلى Azure SQL Database أو Azure Synapse Analytics أو SQL Server المسجلة كخدمة مرتبطة في Data Factory. للتعرف على هذه الخدمة المرتبطة، راجع مقالة خدمات الحوسبة المرتبطة. ‏‏نعم‬
storedProcedureName حدد اسم الإجراء المخزّن للاستدعاء. ‏‏نعم‬
storedProcedureParameters حدد قيم معلمات الإجراء المخزّن. استخدم "param1": { "value": "param1Value","type":"param1Type" } لتمرير قيم المعلمات ونوعها الذي يدعمه مصدر البيانات. إذا كنت بحاجة لتمرير "خال" لمعلمة، استخدم "param1": { "value": null } (جميع الأحرف صغيرة). لا

تعيين نوع بيانات المعلمة

نوع البيانات الذي تُحدده للمعلمة هو نوع الخدمة الداخلية الذي يتم تعيينه لنوع البيانات في مصدر البيانات الذي تستخدمه. يُمكنك العثور على تعيينات نوع البيانات لمصدر البيانات الموضح في وثائق الموصلات. على سبيل المثال:

راجع المقالات التالية التي تشرح كيفية تحويل البيانات بطرق أخرى: