كيفية جدولة حزمة SSIS لتعمل كشيء آخر غير حساب خدمة وكيل SQL

StackOverflow https://stackoverflow.com/questions/812428

سؤال

في SQL Server 2005، هل من الممكن جدولة حزمة SSIS لتشغيل شيء آخر غير حساب خدمة وكيل SQL؟

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

المشكلة هي أنه بشكل افتراضي، يتم تشغيل إحدى الخطوات في المهمة كحساب خدمة وكيل SQL، ولا ترغب مجموعة الخوادم لدينا في منح هذا الحساب حقوق التنفيذ على الإجراءات المخزنة التي ستنفذها الحزمة الخاصة بي.لذلك نحاول إيجاد طريقة لتحديد حساب مختلف في الخطوة، بحيث يتم تشغيل الحزمة ضمن سياق مختلف.هل هذا ممكن؟

هل كانت مفيدة؟

المحلول

إذا كنت ترغب في تنفيذ الحزمة SSIS من مهام عامل SQL، ثم يمكنك إنشاء وكيل. تحقق هنا لمزيد من المعلومات.

نصائح أخرى

إذا كان لديك حق الوصول إلى SQL Server Agent من خلال SQL Server Management Studio، إليك خطوات إنشاء مهمة باستخدام واجهة المستخدم الرسومية.توضح الخطوات كيفية إنشاء مهمة SQL لتشغيل SSIS باستخدام حساب خدمة وكيل SQL وأيضًا كيفية إنشاء وكيل لتشغيله تحت استخدام بيانات اعتماد مختلفة.

  1. انتقل إلى استوديو إدارة خادم SQL.يوسع SQL Server Agent وانقر بزر الماوس الأيمن على "الوظائف"، ثم اختر New Job... كما هو موضح في لقطة الشاشة #1.

  2. قم بتوفير اسم وسيكون المالك هو الحساب الذي ينشئ الوظيفة بشكل افتراضي ولكن يمكنك تغييره وفقًا لمتطلباتك.قم بتعيين فئة إذا كنت ترغب في ذلك وقم أيضًا بتقديم وصف.الرجوع إلى لقطة الشاشة #2.

  3. في قسم الخطوات، انقر فوق New... كما هو موضح في لقطة الشاشة #3.

  4. في مربع الحوار "خطوة مهمة جديدة"، قم بتوفير اسم الخطوة.يختار SQL Server Inegration Services Package من النوع.سيتم تشغيل هذه الخطوة تحت SQL Agent Service Account بشكل افتراضي.حدد مصدر الحزمة كـ File system وتصفح إلى مسار الحزمة من خلال النقر على علامة الحذف.سيؤدي هذا إلى ملء مسار الحزمة.الرجوع إلى لقطة الشاشة #4.إذا كنت لا تريد تنفيذ الخطوة ضمن SQL Agent Service Account, ثم راجع الخطوات #8 - 9 لمعرفة كيف يمكنك استخدام حساب مختلف.

  5. إذا كان لديك ملف تكوين SSIS (.dtsConfig) للحزمة، فانقر فوق التكوينات علامة التبويب وإضافة ملف التكوين كما هو موضح في لقطة الشاشة #5.

  6. انقر فوق "موافق" وهناك الحزمة في الخطوة 1 كما هو موضح في لقطة الشاشة #6.وبالمثل، يمكنك إنشاء خطوات مختلفة.

  7. بمجرد إنشاء الوظيفة، يمكنك النقر بزر الماوس الأيمن على الوظيفة واختيارها Script Job as --> CREATE To --> New Query Editor Window لإنشاء البرنامج النصي كما هو موضح في لقطة الشاشة #7.

  8. لتشغيل خطوة SSIS ضمن حساب مختلف، في Management Studio، انتقل إلى Security --> right-click on Cedentials --> select New Credential... كما هو موضح في لقطة الشاشة #8.

  9. على ال New Credential في مربع الحوار، قم بتوفير اسم بيانات الاعتماد وحساب Windows وكلمة المرور التي تريد من خلالها تنفيذ خطوات SSIS في وظائف SQL.الرجوع إلى لقطة الشاشة #9.سيتم إنشاء بيانات الاعتماد كما هو موضح في لقطة الشاشة #10.

  10. بعد ذلك، نحن بحاجة إلى إنشاء وكيل.في استوديو الإدارة، انتقل إلى SQL Server Agent --> Proxies --> right-click on SSIS Package Execution --> select New Proxy... كما هو موضح في لقطة الشاشة #11.

  11. في نافذة حساب الوكيل الجديد، قم بتوفير اسم الوكيل، وحدد بيانات الاعتماد التي تم إنشاؤها حديثًا، وقدم وصفًا وحدد حزمة خدمات تكامل SQL Server كما هو موضح في لقطة الشاشة #12.يجب إنشاء حساب الوكيل كما هو موضح في لقطة الشاشة #13.

  12. الآن، إذا عدت إلى الخطوة في مهمة SQL، فيجب أن ترى حساب الوكيل الذي تم إنشاؤه حديثًا في ملف اهرب مثل اسقاط.الرجوع إلى لقطة الشاشة #14.

امل ان يساعد.

لقطة الشاشة رقم 1:

1

لقطة الشاشة رقم 2:

2

لقطة الشاشة رقم 3:

3

لقطة الشاشة رقم 4:

4

لقطة الشاشة رقم 5:

5

لقطة الشاشة رقم 6:

6

لقطة الشاشة رقم 7:

7

لقطة الشاشة رقم 8:

8

لقطة الشاشة رقم 9:

9

لقطة الشاشة رقم 10:

10

لقطة الشاشة رقم 11:

11

لقطة الشاشة رقم 12:

12

لقطة الشاشة رقم 13:

13

لقطة الشاشة رقم 14:

14

ومع SQL 2012 حصلت على خطأ أنه لا يسمح حساب المستخدم المختار ليكون وكيل. باستخدام الاستعلام التالي حل هذه المشكلة:

use msdb
GO
exec sp_grant_login_to_proxy @login_name = 'MyLoginName', @proxy_name= 'proxy_SSIS'
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top