كيف يمكنني استخدام اتصال قاعدة بيانات مختلف لتكوين الحزمة؟

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

  •  09-06-2019
  •  | 
  •  

سؤال

لدي حزمة SSIS تقوم بتعيين بعض البيانات المتغيرة من جدول تكوين حزمة SQL Server.(تحديد الخيار "تحديد إعدادات التكوين مباشرة")

يعمل هذا بشكل جيد عندما أستخدم اتصال قاعدة البيانات الذي حددته عند تطوير الحزمة.ومع ذلك، عندما أقوم بتشغيلها على خادم (64 بت) في بيئة الاختبار (إما كمهمة وكيل أو تشغيل الحزمة مباشرة) وتحديد سلسلة الاتصال الجديدة في مديري الاتصال، لا تزال الحزمة تقرأ الإعدادات من خادم قاعدة البيانات التي حددتها في التنمية.

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

أي أفكار أو هل أفعل شيئًا خاطئًا حقًا؟

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

المحلول

الطريقة الوحيدة التي تمكنت من القيام بذلك هي استخدام متغيرات بيئة Windows.يمكنك تحديد أشياء مثل سلاسل الاتصال وتفضيلات المستخدم في متغيرات البيئة، ثم التقاط متغيرات البيئة هذه من مهمة SSIS الخاصة بك.

نصائح أخرى

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

يساعد هذا أيضًا عندما يكون لديك اصطلاح تسمية مؤلم جدًا للخوادم، حيث يمكن أن يكون الاسم المستعار اسمًا وصفيًا أكثر من اسم الجهاز الفعلي.

لم أفهم سؤالك تمامًا في الواقع ولكني أقوم بتخزين إعدادات الاتصال الخاصة بي في ملفات تكوين عادةً ما تكون واحدة لكل بيئة مثل التطوير والإنتاج وما إلى ذلك.تقرأ الحزم إعدادات الاتصال من ملفات التكوين عند تشغيلها.

عندما تقوم بإنشاء مهمة للاتصال بحزمة SSIS، وتقوم بإعداد الخطوة، توجد منطقة مبوبة.علامة التبويب الافتراضية هي المكان الذي تقوم فيه بتعيين اسم الحزمة، وعلامة التبويب التالية هي المكان الذي يمكنك فيه تعيين ملف التكوين.احصل على ملف تكوين لكل حزمة، وقم بتغيير الخادم (dev، test، prod).يمكن وضع ملف التكوين مباشرة على خوادم التطوير والاختبار والمنتج، ثم الإشارة إليه عند إعداد هذه المهمة.

إذا كنت تستخدم SQL Server Package Configuration، فستأتي جميع خصائص الحزم من جدول SQL Server - يرجى التحقق من ذلك

أمن مباحث أمن الدولة بالطريقة التي يقف بها أمر فظيع.لن يتمكن أحد من دعم الأمور عندما أكون خارج المكتب.المهمة لا تقرأ أبدًا من ملف التكوين...أستسلم.إنه يعمل فقط عندما أقوم بتحرير السلسلة في علامة التبويب مصادر البيانات.ومع ذلك، يتم فقدان كلمة المرور إذا ذهبت إلى الوظيفة مرة أخرى.تصميم رهيب، فظيع تماما.قد تعتقد أنه عند تحديد ملف xml في خطوة المهمة، فإنه سيقرأ سلسلة الاتصال المحددة من هناك، لكنه لا يفعل ذلك.هل هذا حقا يعمل لأي شخص آخر؟

انتقل إلى خصائص الحزمة وقم بتعيين النشر صحيحًا.يجب أن يعمل هذا على ما قمت به.

كان لدي نفس السؤال، وحصلت على نفس الإجابة، أي.لا يمكنك تحرير سلسلة الاتصال المستخدمة لتكوينات الحزمة المستضافة في SQL Server، إلا إذا قمت بتحديد أن سلسلة اتصال SQL Server يجب أن تكون في متغير بيئة.

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

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

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

نريد الاحتفاظ بتكوينات الحزمة الخاصة بنا في جدول قاعدة البيانات، ونعلم أنه يتم نسخها احتياطيًا مع بياناتنا الأخرى ونعرف مكان العثور عليها.مجرد تفضيل.

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

يبدو أنه عند تشغيل حزمة SSIS كخطوة في مهمة مجدولة، فإنها تعمل بهذا الترتيب:

  • قم بتحميل كل تكوينات الحزمة بالترتيب الذي تظهر به في منظم تكوينات الحزمة
  • قم بتعيين سلاسل الاتصال من علامة التبويب مصادر البيانات في خصائص خطوة المهمة للمهمة المجدولة
  • ابدأ تشغيل الحزمة

كنت أتوقع أن يكون أول 2 في الاتجاه المعاكس حتى أتمكن من تعيين مصدر البيانات لتكوين الحزمة الخاصة بي من المهمة المجدولة.هذا هو المكان الذي أتوقع أن يبحث عنه الآخرون عند صيانة الحزمة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top