الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

هل يمكن إستعادة حقول تم حذفها من جدول فى قاعدة بيانات SQL

بدأه red_scorpion1 في 30 أبريل 2010 · 10 رد · 2,698 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

لدى فى الشركة التى اعمل بها قاعدة بيانات تعمل على SQL Server 2008 و Windows Server 2008 والبرنامج خاص بإدخال فواتير المبيعات للعملاء وما حدث اننى عن طريق الخطأ حذفت عدد من الفواتير وقمت بعمل إستعلام بعدها ولم اجد اى اثر للبيانات حيث انها كانت تسجل فى جدولين وهما data_h و data_d حيث الأول خاص برأس الإذن والاثنى خاص بتفاصيلة والمشكلة أننى لا يوجد لدى باكب حيث أن تلك الحركة حدثت قبل اخذ الباكب اليومى وكتبت الأتى للإستعلام والنتائج كانت لا شيىء وهنا رقم الإذن هو tr_no

select *from data_h where tr_no=200

select *from data_d where tr_no=200

فهل يمكن إستعادىة البيانات او هل هناك جملة SQL تقوم بعمل ذلك???

أرجوا سرعة الإفادة

#2

اعتقد ان ربنا يعوض عليك وده عشان تعمل باك اب قبل ما تعمل اي شيء ده بيزنس يا راجل مش لعب عيال :blink:

حاول تعمل System Restore لكن لا ادري مدي نجاحها

أو تقوم باعاده تسجيل هذه الفواتير مرة أخري وهذا هو الطريق الافضل

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#4

مفيش جديد يا جماعة ؟؟

#5

السلام عليكم

طيب الطريقة دى تنفع فى حالتى والا أنهى حالة؟؟؟؟
http://sqlserver2000...-log-files.html

هذه افضل طريقة للارجاع بعد الحذف لكن ليس بعد شهر من الحذف .

#6

TareqVB كتب:

السلام عليكم


طيب الطريقة دى تنفع فى حالتى والا أنهى حالة؟؟؟؟
http://sqlserver2000...-log-files.html

هذه افضل طريقة للارجاع بعد الحذف لكن ليس بعد شهر من الحذف .

ارجوا التوضيح اخى الفاضل حيث اننى حاولت ولكن النتائج التى ظهرت لا يوجد بها ما اريده

هل هناك جملة SQL تمكننى من معرفة التغيرات الى حدثت على قاعدة البيانات من الغاء وخلافه؟

#7

لا يوجد جملة SQL تمكن من معرفة التغيرات الى حدثت على قاعدة البيانات من الغاء وخلافه.

لكن يوجد برامج تعطيك هذه التغييرات منها الذي تحدثت عنه المقالة التي تكلمت عنها لكن يوجد شرط هو ان لا يتم عمل Backup بعد الحذف وذلك لانه يتسبب في حذف البيانات من ال Log وهذه البيانات هي التي يتم الاعتماد عليها في الاسترجاع .

واعتقد يوجد في الامر restore خيارات للرجوع الى وقت معين

وذلك باستخدام ال Log.

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

والامر ليس بالسهل .

#8

TareqVB كتب:

لا يوجد جملة SQL تمكن من معرفة التغيرات الى حدثت على قاعدة البيانات من الغاء وخلافه.

لكن يوجد برامج تعطيك هذه التغييرات منها الذي تحدثت عنه المقالة التي تكلمت عنها لكن يوجد شرط هو ان لا يتم عمل Backup بعد الحذف وذلك لانه يتسبب في حذف البيانات من ال Log وهذه البيانات هي التي يتم الاعتماد عليها في الاسترجاع .

واعتقد يوجد في الامر restore خيارات للرجوع الى وقت معين

وذلك باستخدام ال Log.

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

والامر ليس بالسهل .

اخى الفاضل أشكرك على سرعة ردك وتوضيح النقاط الغير مفهومة

ولكن يبقى سؤال اخير هل فى حالة عمل ريستور من الباكب الذى تم اخذه من قاعدة البيانات بعد إلغاء البيانات من الجدول يمكن من خلاله ارجاع المفقود اذا قمت بتحديد الوقت والتاريخ ؟ ام ان هذا يستدعى ايضا الا اكون قد قمت بعمل باكب بعد الالغاء ؟

#9

لتفهم الفكرة ببساطة

عند عمل تعديل او حذف على جدول يتم تسجيل الصفوف قبل التعديل في ال Transaction log (طبعا يتم التخزين بطريقة معينة ).

عند عمل Backup لقاعدة البيانات يتم حذف البيانات المنتهية من ال Transaction log ولايتم تخزينها مع ال Backup.

لذا اذا عملت Backup فلن تستطيع عمل ارجاع لاي شيء محذوف بالخطأ .

يفضل عمل Backup مستقل ل Transaction log كل فترة قصيرة .

1
#10

اشكرك اخى الفاضل على دعمك المتواصل ولكن هل من طريقة يمكننى بها عرض السجلات المخزنة داخل ملف LOG والذى هو بالإمتداد LDF برجاء الإفادة وكيف يمكن عمل ريستور للداتا عن طريق ملف LOG

تم تعديل هذه المشاركة بواسطة red_scorpion1 في 29 مايو 2010 في 14:57

#11

TareqVB كتب:

لتفهم الفكرة ببساطة

عند عمل تعديل او حذف على جدول يتم تسجيل الصفوف قبل التعديل في ال Transaction log (طبعا يتم التخزين بطريقة معينة ).

عند عمل Backup لقاعدة البيانات يتم حذف البيانات المنتهية من ال Transaction log ولايتم تخزينها مع ال Backup.

لذا اذا عملت Backup فلن تستطيع عمل ارجاع لاي شيء محذوف بالخطأ .

يفضل عمل Backup مستقل ل Transaction log كل فترة قصيرة .

فى إنتظارك أخى الفاضل

اشكرك اخى الفاضل على دعمك المتواصل ولكن هل من طريقة يمكننى بها عرض السجلات المخزنة داخل ملف LOG والذى هو بالإمتداد LDF برجاء الإفادة وكيف يمكن عمل ريستور للداتا عن طريق ملف LOG

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…