توافق النسخ الاحتياطية في SQL Server يسير باتجاه الإصدار الأحدث فقط؛ فلا يستطيع محرك أقدم استعادة ملف BAK أنشأه محرك أحدث. الحل هو تحويل قاعدة البيانات بدلاً من RESTORE مباشر.
ماذا تفعل عند ظهور خطأ عدم توافق إصدار النسخة الاحتياطية؟
احتفظ بالنسخة الأصلية دون تعديل، وافتحها على SQL Server حديث متوافق، ثم أعد بناء قاعدة جديدة على الإصدار الأقدم، وانقل البيانات والعناصر المدعومة، وأنشئ ملف BAK واختبره على المحرك الهدف.
لماذا تُرفض الاستعادة؟
قد تضيف محركات SQL Server الأحدث بيانات وصفية وبنى تخزين وميزات لا يفهمها المحرك الأقدم. وملف .bak هو تمثيل فعلي لهذه الصفحات، لذلك لا يؤدي تغيير COMPATIBILITY_LEVEL إلى جعله قابلاً للقراءة على إصدار أقدم.
ما الذي لا يحل المشكلة؟
تحتوي Generate Scripts وImport/Export وRESTORE المباشرة على فجوات مهمة؛ فقد تُسقط القيود والفهارس وقيم الهوية والعناصر القابلة للبرمجة أو أدلة سلامة البيانات عند استخدامها بلا مسار مضبوط.
مسار التحويل المدعوم
افحص المصدر بوضع القراءة فقط، وأنشئ مخططاً نظيفاً للهدف، وانقل الصفوف على دفعات موثقة، وأعد إنشاء الوحدات المدعومة، ودقّق النتيجة، ثم أنشئ BAK أصلياً على المحرك الهدف.
هل تحتاج إلى تحويل آمن لـ SQL Server؟
استخدم مسار عمل موجهاً ينتج قاعدة بيانات هدف موثقة وملف BAK جاهزاً للاستعادة.
ابدأ التحويل