ارفاق قاعدة بيانات من جهاز كمبيوتر اخر وحل مشكلة تظهر للبعض

ارفاق قاعدة بيانات من جهاز كمبيوتر اخر وحل مشكلة تظهر للبعض

المستوي الثالث مبرمج متوسط


في هذه المقالة سوف نتحدث عن نقل قاعدة البيانات الي جهاز كمبيوتر اخر او الي سيرفر اخر بواسطة سكربت


submit to reddit

ارفاق قاعدة بيانات من جهاز كمبيوتر اخر وحل مشكلة تظهر للبعض

في هذه المقالة سوف نتحدث عن نقل قاعدة البيانات الي جهاز كمبيوتر اخر او الي سيرفر اخر بواسطة سكربت

ايضا في هذا المقال حل لمشكلة اصدارات السيكوال سيرفر المختلفة Sql server Verions

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

Error Message received when restoring an SQL Server 2008 database backup on an  or lower versions

ثم تظهر رسالة الخطأ التالية

The database 'D:\PROJECTC\APP_DATA\MAINDB.MDF' cannot be opened because it is version 655. This server supports version 611 and earlier. A downgrade path is not supported.

SQL Server 2005 error

نظرة عامة علي المشكلة

الرسالة تقول انك تستخدم اصدار سيكوال سيرفر وتريد عمل اتاش لقاعدة البيانات باصدار مختلف عنها

بمعني مثلا انت تستخدم اصدار sql server 2005  وتريد ارفاق او عمل نسخة احتياطية لاصدار اخر لا يتوافق رقم الاصدار الحالي

هنا رقم الاصدار هو 655 وهو خاص بسيكوال سيرفر 2008 ..وانت تريد ارفاقه علي قاعدة بيانات رقم اصدارها 611 ..وهذا ل يتوافق وسوف يعطي البرنامج خطأ

وهذا جدول لكل الاصدارات للسيكوال سيرفر لتتعرف عليها

SQL Server Edition Database Compatibility Level Internal Database Version Number
SQL Server 7 70 515
SQL Server 2000 80 539
SQL Server 2005 90 611/612
SQL Server 2008 100 655
SQL Server 2008 R2 105 660
SQL Server 2012 110 706

اذن كما نري ان رقم الاصدار غير متوافق بالفعل وسوف يخرج البرنامج ولن يرفق قاعدة البيانات

حل المشكلة

طبعا توجد لكل مشكلة حلول وليس حل واحد .

1- تحديث قاعدة البيانات الحالية الي رقم الاصدار المراد

2- اخذ سكربت لقاعدة البيانات المراد عمل نسخة احتياطية او ارفاقها في سكربت بسيط ثم وضعه لصق في قاعدة البيانات الحالية ثم اضغط علي زر تنفيذ

وسوف نتحدث هنا علي اسهل الحلول وهو اخذ نسخة سكربت كالاتي

 الخطوة الاولي علي جهاز كمبيوتر اخر اذهب الي كمبيوتر اخر يعمل عليه الاصدار المراد ..مثلا صديق كمبيوتر اخر لديك ..فانت الان معك قاعدة بيانات باصدار مختلف وتريد وضعها عندك

الان انت في الكمبيوتر الاخر لصديق او نسخة اخري لديك علي جهاز اخر مثلا باصدار 2008 ثم نفذ الاتي عمل سكربت  

database -->All tasks-->Generate scripts

 

SQL Server attach

 

وسوف تظهر لك شاشة مرحبا المعروفة في كل برنامج ..ليس بها شرح .فقط اضغط التالي

SQL Server attach

الان اختر ما تريد عمل سكربت له ..وهي اسم قاعدة البيانات المراد عمل سكربت لها ..ولا تنسي انك الان علي جهاز كمبيوتر اخر ولديك ملف قاعدة بيانات باسم معين

وتريد عمل ارفاق او اتاش لها علي جهاز كمبيوتر اخر .

SQL Server attach

سوف تظهر لك شاشة ..اضغط التالي لتحصل علي الشاشة التالية

الان اختر ما تريد عمل سكربت له ..من جداول او بروسيجرز او جداول استعلام او اي شئ اخر تريده

SQL Server attach

الان اختر اسماء الجداول المطلوبة ..او اخترها بالكامل

SQL Server attach

في هذه الشاشة تقول ان ناتج السكربت سوف يكون ..اما في ملف ..او في ذاكرة الكمبيوتر لكي تلصقه انت في مكان ما ..او في شاشة جديدة وهذا ما سوف اختره

لكي يفتح السكربت في شاشة اخري في نفس قاعدة البيانات ..ثم اضغط التالي

SQL Server attach

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

SQL Server attach

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

SQL Server attach

 

انتهت الان الخطوة الاولي ..لتنتقل الي جهاز الكمبيوتر لديك وهو ما سوف نضع به السكربت المطلوب

خطوة رقم 2  ..افتح السيكوال سيرفر لديك ..ثم انشئ قاعدة بيانات جديدة فارغة لا تحتوي علي اي جداول ..لاننا سوف نضع السكربت الخاص بالجداول داخلها

وسمها بنفس الاسم لقاعدة البيانات السابقة في الجهاز الاخر ..او باي اسم تريد  ثم اضغط موافق

SQL Server tables

 

ثم الان قف بالماوس كليك يمين علي هذه القاعدة ثم سيظهر اختيارات اختر منها New Query

SQL Server tables

 

حتي ننفذ سكربت عليها ..وسوف يفتح شاشة كتابة فارغة بيضاء ..

الان ضع السكربت السابق الذي اخدناه في ملف سيكوال او في ملف نوت باد وقم بلصقه هنا ..

SQL Server tables

 

ثم اضغط علي زر f5  او اضغط علي كلمة تنفيذ بالاعلي Execute  وهي بلون احمر

وسوف يتم تنفيذ السكربت بكامل قاعدة البيانات والجداول للاصدار الجديد

واعذروني للشرح الطويل نوعا ما ..

ملحوظة صغيرة ..هذه عملية متقدمة نوعا ما في السيكوال سيرفر ..وقد وضعت المشكلة حتي تعم الفائدة للجميع .لانها ممكن تواجه اي شخص سواء يبدا البرمجة او محترف بها .

 

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

في دورة تعلم البرمجة كما في شركات البرمجة في موقعنا

 

رابط المقالة

نسخ جداول قاعدة بيانات بكل البيانات

#ارفاق قاعدة بيانات من جهاز كمبيوتر اخر وحل مشكلة تظهر للبعض

رابط الموضوع
http://citystarit.com/Article_details.aspx?id=102