كيف أقوم بتحديث قاعدة بيانات التدريب بالبيانات من قاعدة بيانات الإنتاج؟

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

  •  09-06-2019
  •  | 
  •  

سؤال

لدي نظام معين على الشبكة الخارجية حيث نحتاج إلى الحفاظ على تثبيت التدريب.يستخدم النظام SQL Server 2000 كمحرك قاعدة البيانات الخاص به وأحتاج إلى إعداد نظام لتحديث البيانات في قاعدة بيانات التدريب باستخدام البيانات من قاعدة بيانات الإنتاج على أساس منتظم.

أريد استخدام SSIS لأن لدينا خوادم SQL 2005 التي يمكنني تشغيل العملية منها.لدي خبرة لا بأس بها في SQL، ولكن ليس كثيرًا مع SSIS.لقد كنت أحاول القيام بذلك باستخدام "مهمة نقل قاعدة البيانات" ولكن لم يحالفني الحظ كثيرًا، لأنها تؤدي دائمًا إلى حدوث خطأ.

إذا تجاهلنا استخدام عناصر التكوين وما إلى ذلك وتظاهرنا بأن جميع أسماء قاعدة البيانات وما إلى ذلك يتم ترميزها بشكل ثابت، فلدي ما يلي:"مهمة نقل قاعدة بيانات" واحدة لـ SSIS بالخصائص التالية:

  • الكتابة فوق الوجهة:حقيقي
  • فعل:ينسخ
  • طريقة:قاعدة البيانات على الانترنت

الخطأ الذي أتلقاه هو:

خطأ:أعادت طريقة التنفيذ في المهمة رمز الخطأ 0x80131500 (خطأ:errorCode=-1073548784 description=فشل تنفيذ الاستعلام "EXEC dbo.sp_addrole @rolename = N'XXXXX' " بسبب الخطأ التالي:"الدور 'XXXXXX' موجود بالفعل في قاعدة البيانات الحالية.".أسباب الفشل المحتملة:مشاكل في الاستعلام، أو عدم تعيين خاصية "ResultSet" بشكل صحيح، أو عدم تعيين المعلمات بشكل صحيح، أو لم يتم إنشاء الاتصال بشكل صحيح.helpFile= helpContext=0 idofInterfaceWithError={8BDFE893-E9D8-4D23-9739-DA807BCDC2AC}).يجب أن تنجح طريقة التنفيذ، وأن تشير إلى النتيجة باستخدام معلمة "out".

أنا متأكد من أن هناك شيئًا واضحًا يحدث هنا، ولكن بالتأكيد إذا تم تعيين المهمة للكتابة فوق الوجود المسبق للدور فلا يهم؟هل يعرف أحد ما الذي يجب علي فعله للحصول على هذا العمل؟

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

المحلول

يبدو أن هذا يجب أن يتم إصلاحه في SQLServer 2005 SP2 انظر هنا.يبدو أنك بحاجة إلى التأكد من تصحيح جهاز العميل أيضًا إذا كنت تقوم بتشغيل حزمة SSIS من داخل Visual Studio.

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