تشغيل حزم خدمات تكامل SQL Server مع الأداة المساعدة dtexec الممكنة من Azure

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

تلميح

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

يسلط هذا المقال الضوء على أداة توجيه الأوامر المساعدة dtexec (AzureDTExec) الممكنة من Azure. يستخدم لتشغيل حزم خدمات تكامل SQL Server (SSIS) على وقت تشغيل تكامل Azure-SSIS (IR) في Azure Data Factory.

تأتي الأداة المساعدة التقليدية dtexec مع SQL Server. لمزيد من المعلومات، راجع الأداة المساعدة dtexec. غالبا ما تُستدعى من قِبَل منسقين أو مجدولين خارجيين، مثل ActiveBatch وControl-M، لتشغيل حزم SSIS محليّاً.

تأتي الأداة المساعدة الحديثة AzureDTExec مع أداة SQL Server Management Studio (SSMS). كما يمكن استدعاؤها أيضاً من قِبَل منسقين أو مجدولين خارجيين لتشغيل حزم SSIS في Azure. تسهل هذه الأداة رفع أو نقل أو ترحيل حزم SSIS إلى السحابة. بعد الترحيل، إذا أردت الاحتفاظ باستخدام منسقين أو مجدولين خارجيين في عملياتك اليومية، يمكنهم الآن استدعاء AzureDTExec بدلاً من dtexec.

تشغل AzureDTExec حزمك باعتبارها أنشطة Execute SSIS Package في خطوط Data Factory. لمزيد من المعلومات، راجع تشغيل حزم SSIS كأنشطة Azure Data Factory.

يمكن تكوين AzureDTExec عبر SSMS لاستخدام تطبيق Microsoft Entra الذي ينشئ مسارات في مصنع البيانات الخاص بك. كما يمكن تكوينه أيضاً للوصول إلى أنظمة الملفات، أو مشاركات الملفات، أو ملفات Azure، حيث تخزن حزمك. واستنادا إلى القيم التي تعطيها لخيارات استدعائه، ينشأ AzureDTExec خطّاً فريداً من نوعه لمصنع البيانات مع نشاط Execute SSIS Package فيه. يسفر استدعاء AzureDTExec بنفس القيم لخياراته عن خط المعالجة الموجود.

المتطلبات الأساسية

لاستخدام AzureDTExec، حمّل وثبت أحدث إصدار من SSMS، وهو الإصدار 18.3 أو ما هو أحدث. حمله من هذا الموقع.

تكوين الأداة المساعدة AzureDTExec

تثبيت SSMS على جهازك المحلي يثبت أيضاً AzureDTExec. لتكوين إعداداته، ابدأ SSMS مع الخيار "Run as administrator". ثم حدد "Tools">للترحيل إلى Azure>تكوين الأداة المساعدة DTExec الممكنة من Azure.

Configure Azure-enabled dtexec menu

يفتح هذا الإجراء إطار "AzureDTExecConfig" الذي يحتاج في فتحه إلى امتيازات إدارية للكتابة في ملف AzureDTExec.settings. إذا لم تُشغل SSMS كمسؤول، يفتح إطار التحكم في حساب المستخدم (UAC). أدخل كلمة مرور المسؤول لرفع مستوى امتيازاتك.

Configure Azure-enabled dtexec settings

في إطار AzureDTExecConfig، أدخل إعدادات التكوين، كما يلي:

  • ApplicationId: أدخل المعرف الفريد لتطبيق Microsoft Entra الذي تقوم بإنشائه بالأذونات الصحيحة لإنشاء مسارات في مصنع البيانات الخاص بك. لمزيد من المعلومات، راجع إنشاء تطبيق Microsoft Entra ومدير الخدمة عبر مدخل Microsoft Azure.
  • AuthenticationKey: أدخل مفتاح المصادقة لتطبيق Microsoft Entra.
  • TenantId: أدخل المعرف الفريد لمستأجر Microsoft Entra، الذي يتم بموجبه إنشاء تطبيق Microsoft Entra.
  • مصنع البيانات: أدخل اسم مصنع البيانات التي تنشؤ فيها خطوط المعالجة الفريدة مع نشاط حزمة Execute SSIS Package استناداً إلى قيم الخيارات المتوفرة عند استدعاء AzureDTExec.
  • IRName: أدخل اسم Azure-SSIS IR في مصنع بياناتك، حيث ستشغل الحزم المحددة في مسار ميثاق التسمية العالمي (UNC) عند استدعائك AzureDTExec.
  • PipelineNameHashStrLe: أدخل طول سلاسل التجزئة التي ستُنشأ من قيم الخيارات التي تقدمها عند استدعائك AzureDTExec. تُستخدم السلاسل لتشكيل أسماء فريدة لخطوط معالجة "مصنع البيانات" التي تشغل حزمك على Azure-SSIS IR. عادة ما يكون طول 32 حرفاً كافياً.
  • مجموعة الموارد: أدخل اسم مجموعة موارد Azure التي أنشئ مصنع البيانات فيها.
  • معرف الاشتراك: أدخل المعرف المميز لاشتراك Azure، والذي أُنشئ بموجبه مصنع بياناتك.
  • LogAccessDomain: أدخل بيانات اعتماد المجال للوصول إلى مجلد سجلك في مسار UNC الخاص به عند كتابة ملفات السجل، وهو مطلوب عند تحديد LogPath وعندما لا يكون LogLevel خا لٍ.
  • LogAccessDomain: أدخل بيانات اعتماد كلمة المرور للوصول إلى مجلد سجلك في مسار UNC الخاص به عند كتابة ملفات السجل، وهو مطلوب عند تحديد LogPath وعندما لا يكون LogLevel خا لٍ.
  • LogAccessUserName: أدخل بيانات اعتماد اسم المستخدم للوصول إلى مجلد سجلك في مسار UNC الخاص به عند كتابة ملفات السجل، وهو مطلوب عند تحديد LogPath وعندما لا يكون LogLevel خا لٍ.
  • LogLevel: أدخل النطاق المحدد لتسجيل الدخول من خانة خالٍالمحددة مسبقاً أو أساسيأو مطولأو خيارات الأداء لتنفيذ حزمتك على AZURE-SSIS IR.
  • LogPath: أدخل مسار UNC من مجلد السجل، حيث تُكتب ملفات السجل من عمليات تنفيذ حزمتك على Azure-SSIS IR.
  • "PackageAccessDomain": أدخل بيانات اعتماد المجال للوصول إلى حزمتك في مسار UNC الذي يحدد عند استدعاء AzureDTExec.
  • PackageAccessPassword: أدخل بيانات اعتماد كلمة المرور للوصول إلى حزمك في مسار UNC الذي يحدد عند استدعاء AzureDTExec.
  • PackageAccessUserName: أدخل بيانات اعتماد اسم المستخدم للوصول إلى حزمك في مسار UNC الذي يحدد عند استدعاء AzureDTExec.

لتخزين حزمك وسجلات ملفاتك في أنظمة الملفات أو مشاركات الملفات المحلية، ضُم Azure-SSIS IR إلى شبكة ظاهرية متصلة بالشبكة المحلية بحيث يمكنها إحضار الحزم وكتابة ملفات السجل. لمزيد من المعلومات، يرجى مراجعة إضافة وقت تشغيل التكامل Azure-SSIS إلى شبكة ظاهرية.

لتجنب إظهار القيم الحساسة المكتوبة في ملف AzureDTExec.settings في نص عادي، نقوم بترميزها في سلاسل من ترميز Base64. عند استدعاء AzureDTExec، يُفك ترميز جميع السلاسل المشفرة Base64 مرة أخرى إلى قيمها الأصلية. يمكنك إضفاء مزيد من التأمين إلى ملف AzureDTExec.settings عن طريق تحديد الحسابات التي يمكنها الوصول إليه.

استدعاء الأداة المساعدة AzureDTExec

يمكنك استدعاء AzureDTExec في موجه سطر الأوامر وتوفير القيم ذات الصلة لخيارات معينة في سيناريو حالة الاستخدام.

ثُبتت أداتك المساعدة في {SSMS Folder}\Common7\IDE\CommonExtensions\Microsoft\SSIS\150\Binn . يمكنك إضافة مسارها إلى متغير البيئة 'PATH' لتُستدعى من أي مكان.

> cd "C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\CommonExtensions\Microsoft\SSIS\150\Binn"
> AzureDTExec.exe  ^
  /F \\MyStorageAccount.file.core.windows.net\MyFileShare\MyPackage.dtsx  ^
  /Conf \\MyStorageAccount.file.core.windows.net\MyFileShare\MyConfig.dtsConfig  ^
  /Conn "MyConnectionManager;Data Source=MyDatabaseServer.database.windows.net;User ID=MyAdminUsername;Password=MyAdminPassword;Initial Catalog=MyDatabase"  ^
  /Set \package.variables[MyVariable].Value;MyValue  ^
  /De MyEncryptionPassword

يقدم استدعاء AzureDTExec خيارات مشابهة مثل استدعاء dtexec. لمزيد من المعلومات، راجع الأداة المساعدة dtexec. فيما يلي الخيارات المدعومة حالياً:

  • F[ile]: تحميل حزمة مخزنة في نظام الملفات أو مشاركة الملفات أو ملفات Azure. كقيمة لهذا الخيار، يمكنك تحديد مسار UNC لملف حزمتك في نظام الملفات أو مشاركة الملفات أو ملفات Azure مع ملحق .dtsx الخاص به. إذا كان مسار UNC المحدد يحتوي على أي مسافة، ضع علامات تنصيص حول المسار بأكمله.
  • Conf [igFile]: تحديد ملف تكوين لاستخراج القيم منه. باستخدام هذا الخيار، يمكنك تعيين تكوين وقت التشغيل للحزمة التي تختلف عن تلك المحددة في وقت التصميم. يمكنك تخزين إعدادات مختلفة في ملف تكوين XML، ثم تحميلها قبل تنفيذ الحزمة. لمزيد من المعلومات، راجع تكوينات حزمة SSIS. لتحديد قيمة هذا الخيار، استخدم مسار UNC لملف التكوين في نظام الملفات أو مشاركة الملفات أو ملفات Azure مع ملحق dtsConfig الخاص به. إذا كان مسار UNC المحدد يحتوي على أي مسافة، ضع علامات تنصيص حول المسار بأكمله.
  • Conn[ection]: تحديد سلاسل الاتصال لمديري الاتصالات الموجودين في الحزمة. باستخدام هذا الخيار، يمكنك تعيين سلاسل اتصال وقت التشغيل لمديري الاتصال الموجودين في الحزمة والتي تختلف عن تلك المحددة في وقت التصميم. حدد قيمة هذا الخيار كما يلي: connection_manager_name_or_id;connection_string [[;connection_manager_name_or_id;connection_string]...].
  • Set\: يتجاوز تكوين معلمة أو متغير أو خاصية أو حاوية أو موفر سجل أو عدّاد Foreach أو اتصال في الحزمة. يمكن تحديد هذا الخيار عدة مرات. حدد قيمة هذا الخيار كما يلي: property_path;value. على سبيل المثال، \package.variables[counter].Value;1 يتجاوز قيمة counter المتغير كـ 1. يمكنك استخدام معالج تكوين الحزمة للبحث عن قيمة property_path العناصر الموجودة في الحزمة ونسخها ولصقها، والتي تريد تجاوز قيمتها. لمزيد من المعلومات، راجع معالج تكوين الحزمة.
  • /De[crypt]: تعيين كلمة مرور فك التشفير للحزمة التي كُونت مع مستوى الحماية EncryptAllWithPassword/EncryptSensitiveWithPassword.

إشعار

ينشئ استدعاء AzureDTExec مع قيم جديدة لخياراته خط معالجة جديد باستثناء الخيار /De[cript].

بعد إنشاء خطوط معالجة فريدة مع نشاط Execute SSIS Package وتشغيلها عند استدعاء AzureDTExec، يمكن مراقبتها على مدخل مصنع البيانات. يمكنك أيضاً تعيين مشغلات مصنع البيانات لهم إذا أردت تنسيقها / جدولتها باستخدام مصنع البيانات. لمزيد من المعلومات، راجع شغّل حزم SSIS كأنشطة مصنع البيانات.

تحذير

من المتوقع أن يستخدم خط المعالجة الذي أُنشئ فقط من قِبَل AzureDTExec. وقد تتغير خصائصها أو معلماتها في المستقبل، لذا لا تعدلها أو تعد استخدامها لأي أغراض أخرى. قد تكسر التعديلات AzureDTExec. إذا حدث ذلك، احذف خط المعالجة. ينشأ AzureDTExec خط معالجة جديد في المرة التالية التي يُستدعى فيها.