سؤال

هل هناك أي قضايا النسخ الاحتياطي قاعدة بيانات من SQL Server 2008 ثم ثم استيراده إلى SQL Server 2005?كان بالترقية إلى SQL Server 2008 2008 ولكن يبدو أيضا إشكالية حتى الآن أريد أن تقليله.هل هناك أي مشاكل في فعل هذا ؟

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

المحلول

حسنا، أنت لن تكون قادرة على استعادة نسخة احتياطية 2008 إلى خادم SQL 2005.

وأسهل طريقة للقيام بذلك هو استخدام "إنشاء البرامج النصية SQL خادم" المعالج لإنشاء برنامج نصي (بما في ذلك المخطط والبيانات) التي يمكن تشغيلها على SQL 2005 لإنشاء قاعدة البيانات. انظر http://www.devx.com/dbzone/Article/40531

ولكن مرة أخرى إلى المشكلة الأصلية: ما هي المشاكل التي تواجهك في SQL 2008

نصائح أخرى

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

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

وأود أن نتفق على ما هي القضية؟ لا يمكنك تشغيل قاعدة البيانات في وضع التوافق SQL 2005 إذا كان شيئا عن التطبيق. إذا كان يجب أن تنتقل إلى 2005 كنت غير قادر على مجرد استعادة قاعدة البيانات 08-05.

إذا كان لديك DB التي هي أكبر من 50MB أو نحو ذلك أود أن السيناريو المخطط الخاص بك قاعدة البيانات باستخدام معالج الجيل النصي، نصي كل ما تبذلونه من مفاتيح، مؤشرات، وموجبات ومقارنتها وأي مؤشرات النص الكامل لديك بدون بيانات. فقط تذكر للتحقق السيناريو خيار إصدار SQL 2005. تشغيل هذا البرنامج النصي لإنشاء قاعدة بيانات جديدة على ملقم SQL 2005.

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

-- Disable Triggers
While @i <= @MaxI
Begin
      Select @dsql =  'DISABLE Trigger ' + TriggerName + ' ON ' + TableName
      From @DisableTriggers
      Where MyRowCount = @i
      Exec sp_executesql @dsql
      Select @i = @i + 1
End

-- Enable Triggers
While @i <= @MaxI
Begin
      Select @dsql =  'Enable Trigger ' + TriggerName + ' ON ' + TableName
      From @DisableTriggers
      Where MyRowCount = @i
      Exec sp_executesql @dsql
      Select @i = @i + 1
End

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

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

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