كيفية استعادة ملفات قاعدة بيانات Microsoft SQL Server 2022 ‏(MDF وLDF وBAK)

في هذه المقالة، سنستعرض كيفية استعادة ملفات قاعدة بيانات Microsoft SQL Server 2022. وسنوضح ما يجب فعله إذا تم حذف قاعدة بيانات أو ملفاتها عن طريق الخطأ، وكذلك كيفية استخدام نسخة احتياطية متاحة لإعادة قاعدة البيانات إلى حالة العمل.

كيفية استعادة ملفات قاعدة بيانات Microsoft SQL Server 2022 ‏(MDF وLDF وBAK)

لاستعادة الملفات، سنستخدم Hetman RAID Recovery. يستطيع البرنامج العثور على ملفات MDF وLDF وBAK على الأقراص الفيزيائية ومصفوفات RAID والأقراص الديناميكية، وكذلك العمل مع صور الأقراص المنسوخة قطاعًا بقطاع. ويمكن لاحقًا استخدام الملفات المستعادة من أجل Restore أو Attach عبر Microsoft SQL Server.

يدعم Hetman RAID Recovery أنظمة Windows وLinux وmacOS.

لاستعادة البيانات من مصفوفات RAID المعطلة وأجهزة NAS وأنظمة التخزين الأخرى متعددة الأقراص.
إذهب للعرض
How to Recover a Deleted SQL Server 2022 Database | MDF, LDF & BAK

How to Recover a Deleted SQL Server 2022 Database | MDF, LDF & BAK

ميزات SQL Server

ما هي الملفات التي يستخدمها Microsoft SQL Server ولماذا تُعد مهمة أثناء الاستعادة:

  • MDF – ملف قاعدة البيانات الأساسي. يحتوي على بنية قاعدة البيانات والجداول والسجلات والفهارس والكائنات الأخرى. ويُعد هذا الملف المصدر الرئيسي للبيانات عند الحاجة إلى إعادة قاعدة بيانات محذوفة إلى SQL Server.
  • LDF – ملف سجل المعاملات. يسجل SQL Server فيه تغييرات قاعدة البيانات. يُستخدم السجل للحفاظ على اتساق البيانات، ويُعد مكوّنًا مهمًا عند إرفاق قاعدة بيانات من ملفاتها الفيزيائية.
  • BAK – ملف النسخة الاحتياطية. في اختبارنا، هذه نسخة احتياطية كاملة لقاعدة بيانات أنشأها SQL Server. إذا كان هذا الملف متاحًا وغير تالف، فيمكن استخدامه في Restore دون الحاجة إلى إرفاق ملفات MDF وLDF الأصلية.

لذلك، يعتمد سيناريو الاستعادة على الملفات التي تم الاحتفاظ بها أو العثور عليها:

  • إذا كان ملف BAK متاحًا، فسيتم استعادة قاعدة البيانات من النسخة الاحتياطية.
  • إذا لم توجد نسخة احتياطية، ولكن تم استرداد ملفات MDF وLDF، فيمكن استخدامهما في Attach، بشرط أن تظل الملفات قابلة للقراءة ومتسقة.
الميزة الوصف
نموذج البيانات العلائقي يخزن SQL Server المعلومات في جداول مرتبطة بعضها ببعض عبر المفاتيح والقيود.
لغة الاستعلام T-SQL امتداد لـ SQL يُستخدم لإنشاء الاستعلامات وإدارة البيانات وكتابة الإجراءات وتنفيذ العمليات الإدارية.
ملفات قاعدة البيانات MDF وNDF MDF هو ملف بيانات قاعدة البيانات الأساسي، وNDF ملف بيانات إضافي. يحتويان على الجداول والفهارس وكائنات قاعدة البيانات الأخرى.
ملف سجل المعاملات LDF يخزن سجلات المعاملات والتغييرات في قاعدة البيانات. ويُستخدم السجل لاستعادة النظام بعد الأعطال ولضمان اتساق البيانات.
النسخ الاحتياطي والاستعادة يدعم SQL Server النسخ الاحتياطية الكاملة والتفاضلية ونسخ سجل المعاملات، ما يتيح استعادة قاعدة بيانات إلى نقطة زمنية مطلوبة وفقًا للإعدادات المناسبة.
المعاملات وACID تضمن الذرية والاتساق والعزل والديمومة لعمليات البيانات.
الفهارس تسرّع عمليات البحث وتنفيذ الاستعلامات، لكنها قد تتلف أو تتطلب إعادة بناء بعد بعض الأعطال.
آليات التحكم في السلامة تساعد المفاتيح الأساسية والخارجية والقيود وعمليات التحقق على الحفاظ على صحة البيانات.
نماذج الاسترداد تحدد نماذج الاسترداد البسيط والكامل والمعتمد على السجل المجمع إمكانات النسخ الاحتياطي لسجل المعاملات وخيارات استعادة قاعدة البيانات.
أدوات التشخيص يفحص الأمر DBCC CHECKDB السلامة المنطقية والفيزيائية لقاعدة البيانات ويساعد على تحديد التلف.

لأغراض الاختبار، أعددنا Windows Server 2022 مع Microsoft SQL Server 2022. توجد قاعدة البيانات TestDB على Dynamic Spanned Volume بنظام ملفات NTFS. وهي تحتوي على جداول وسجلات عملاء اختبار وملفات مخزنة في الحقل VARBINARY(MAX). يُخزن ملف MDF في الدليل SQLData، وملف السجل LDF في SQLLogs، والنسخة الاحتياطية الكاملة TestDB_Full.bak في الدليل SQLBackup.

كيفية الوصول إلى أقراص الخادم

الطريقة 1. توصيل الأقراص بمحطة عمل

إذا كانت ملفات SQL Server مخزنة على قرص فيزيائي منفصل، فيمكن توصيله بمحطة عمل عبر محوّل SATA أو محوّل USB أو محطة إرساء.

إذا كانت قاعدة البيانات مخزنة على Dynamic Spanned Volume أو على أي تكوين متعدد الأقراص آخر، فمن الأفضل أن تتوفر إمكانية الوصول إلى جميع الأقراص التي كانت جزءًا منه.

إذا تعذر توصيل جميع الأقراص في الوقت نفسه، فيمكن إنشاء صور لها قطاعًا بقطاع. للقيام بذلك في Hetman RAID Recovery، حدد القرص الفيزيائي، ثم شغّل Save disk، وحدد موقع الحفظ، وانتظر حتى تكتمل عملية النسخ.

Hetman RAID Recovery: إنشاء صورة قرص فيزيائي

بعد ذلك، يمكن فصل القرص وإنشاء صورة للقرص التالي بالطريقة نفسها. قم بتركيب الصور الجاهزة عبر Mount disk واستخدمها للتحليل مع الأقراص الفيزيائية.

Hetman RAID Recovery: تركيب صورة قرص فيزيائي

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

Hetman RAID Recovery: صورة قرص فيزيائي مركبة

الطريقة 2. إعداد الوصول عبر SSH

توجد طريقة أخرى للوصول إلى الأقراص دون إزالتها فعليًا. إذا كان Windows Server 2022 لا يزال يعمل ويمكن الوصول إليه عبر الشبكة، فيمكن توصيل الأقراص إلى Hetman RAID Recovery عن بُعد عبر SSH.

للقيام بذلك، أعد مسبقًا إعداد OpenSSH Server على Windows Server.

Windows Server 2022: تثبيت OpenSSH Server

ابدأ خدمة OpenSSH SSH Server – sshd – وإذا لزم الأمر، اضبطها لتعمل تلقائيًا عند بدء التشغيل.

Windows Server 2022: بدء خدمة OpenSSH SSH Server
Windows Server 2022: تمكين التشغيل التلقائي لـ OpenSSH SSH Server

تحقق أيضًا من الوصول عبر منفذ TCP 22 وتأكد من أن الحساب المستخدم للاتصال لديه الأذونات اللازمة للوصول إلى أقراص الخادم.

بعد إعداد الخادم، افتح Hetman RAID Recovery. في القائمة العلوية، انتقل إلى Tools وحدد Connect via SSH.

Hetman RAID Recovery: Tools - Connect via SSH

في حقل Remote server، أدخل عنوان IP الخاص بـ Windows Server، وفي حقل Port أدخل 22. وأسفل ذلك، في قسم Credentials، حدد طريقة المصادقة المطلوبة وأدخل اسم المستخدم وكلمة المرور للحساب. وعند الحاجة، يمكنك تفعيل Save server details وSave authentication data حتى لا تحتاج إلى إدخال هذه المعلمات مرة أخرى. ثم انقر Next.

Hetman RAID Recovery: الاتصال بالخادم البعيد

بعد نجاح الاتصال بالخادم، ستعرض النافذة التالية الأقراص الفيزيائية والمصفوفات المنطقية المتاحة. حدد الأقراص التي تنتمي إلى JBOD المطلوب، ثم تابع.

Hetman RAID Recovery: الاتصال بالخادم البعيد

بعد التأكيد، ستظهر هذه الأقراص في النافذة الرئيسية لـ Hetman RAID Recovery، حيث يمكن العمل عليها بالطريقة نفسها مثل الأقراص المتصلة محليًا.

انتبه إلى معدات الشبكة. نظرًا لأن العمليات على الأقراص تُنفذ عبر الشبكة، فمن الأفضل لضمان اتصال مستقر ومريح أن تدعم محطة العمل وWindows Server والشبكة المحلية سرعات نقل بيانات تبلغ 1 غيغابت/ثانية فأعلى. سيساعد ذلك على تسريع تحليل الأقراص ونقل الملفات المستعادة.

تُعد هذه الطريقة مناسبة بشكل خاص إذا كان الخادم لا يزال يعمل وكان نزع عدد كبير من الأقراص وتوصيلها إلى كمبيوتر آخر أمرًا غير مرغوب فيه أو صعبًا.

كيفية استعادة قاعدة بيانات SQL Server 2022 محذوفة

الطريقة 1. استعادة قاعدة بيانات من ملف BAK

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

افتح Microsoft SQL Server Management Studio واتصل بمثيل SQL Server المطلوب.

Windows Server 2022: الاتصال بمثيل SQL Server المطلوب

في شجرة Object Explorer، افتح القائمة السياقية لـ Databases وحدد Restore Database.

Windows Server 2022: Databases - Restore Database

كمصدر، حدد Device، وحدد الملف TestDB_Full.bak، وتحقق من أن SQL Server قد تعرف على النسخة الاحتياطية بشكل صحيح.

Windows Server 2022: Device - TestDB_Full.bak

لتجنب تغيير قاعدة البيانات الأصلية TestDB، استعدها باسم منفصل وهو TestDB_Restored.

Windows Server 2022: إعادة تسمية قاعدة البيانات إلى TestDB_Restored

في إعدادات الاستعادة، حدد أسماء ومسارات منفصلة للملفات الفيزيائية لقاعدة البيانات حتى لا تتعارض مع ملفات TestDB الأصلية. وللنسخة الجديدة، استخدم TestDB_Restored.mdf وTestDB_Restored_log.ldf.

Windows Server 2022: TestDB_Restored.mdf و TestDB_Restored_log.ldf

ابدأ Restore وانتظر حتى تكتمل العملية. بعد نجاح الاستعادة، ستظهر قاعدة البيانات TestDB_Restored في Object Explorer.

Windows Server 2022: Object Explorer - TestDB_Restored

افتحها وتحقق من الجداول والسجلات. وتأكد أيضًا من أن البيانات المخزنة في الحقل VARBINARY(MAX) متاحة. وبهذه الطريقة نتحقق ليس فقط من إنشاء قاعدة البيانات، بل أيضًا من توفر محتوياتها بعد الاستعادة من ملف BAK.

Windows Server 2022: التحقق من الجداول والسجلات في TestDB_Restored

الطريقة 2. استعادة قاعدة بيانات محذوفة

في الحالة التالية، تم حذف قاعدة البيانات TestDB_Restored عن طريق الخطأ ولم تعد تظهر في Microsoft SQL Server Management Studio. كما أصبحت ملفاتها الفيزيائية TestDB_Restored.mdf وTestDB_Restored_log.ldf غير متاحة.

يبقى Dynamic Spanned Volume نفسه متاحًا، لذلك ليست هناك حاجة إلى إعادة إنشاء JBOD مرة أخرى.

Windows Server 2022: لا يتم عرض TestDB_Restored في Microsoft SQL Server

افتح Hetman RAID Recovery، وحدد وحدة التخزين المنطقية NTFS التي كانت ملفات SQL Server موجودة عليها، ثم ابدأ Fast scan.

Hetman RAID Recovery: فحص سريع

بعد اكتمال التحليل، انتقل إلى الأدلة التي كانت تُخزن فيها ملفات MDF وLDF وتحقق من النتائج. اعثر على الملفين المحذوفين TestDB_Restored.mdf وTestDB_Restored_log.ldf، وسجل اسميهما وحجمهما وموقعهما.

Hetman RAID Recovery: TestDB_Restored.mdf
Hetman RAID Recovery: TestDB_Restored_log.ldf

إذا لم يعثر Fast scan على الملفات المطلوبة أو كانت النتيجة غير كاملة، فارجع إلى اختيار وضع التحليل وابدأ Full scan. فهو يجري تحليلًا أعمق لنظام NTFS وقد يعثر على المزيد من البيانات المحذوفة.

بعد العثور على ملفات MDF وLDF المطلوبة، أضفها إلى قائمة الاستعادة واحفظها على قرص فيزيائي آخر.

Hetman RAID Recovery: حفظ TestDB_Restored_log.ldf المستعاد

لا يُنصح باستعادة الملفات مرة أخرى إلى Dynamic Spanned Volume الأصلي، لأن الكتابة الجديدة قد تستبدل بيانات أخرى قد يكون من الممكن استردادها لاحقًا.

بعد استعادة الملفات الفيزيائية، ارجع إلى Microsoft SQL Server Management Studio. في القائمة السياقية لـ Databases، حدد Attach.

Windows Server 2022: Databases - Attach

أضف الملف المستعاد TestDB_Restored.mdf وتحقق من أن SQL Server يرى ملف السجل المرتبط TestDB_Restored_log.ldf.

Windows Server 2022: إضافة TestDB_Restored.mdf المستعاد

إذا ظل كلا الملفين قابلين للقراءة ومتسقين، فقم بتنفيذ Attach. بعد الإرفاق، ستظهر قاعدة البيانات مجددًا في قائمة SQL Server.

Windows Server 2022: رؤية SQL Server لملف السجل المرتبط TestDB_Restored_log.ldf

افتح الجداول وتحقق من السجلات. بالإضافة إلى ذلك، تحقق من توفر بيانات VARBINARY(MAX) المستخدمة في قاعدة بيانات الاختبار. إذا كانت البنية والسجلات والملفات المخزنة متاحة، فيمكن اعتبار الاستعادة ناجحة.

Windows Server 2022: فتح الجداول والتحقق من السجلات

الخلاصة

استعرضنا سيناريوهين رئيسيين للعمل مع ملفات قاعدة بيانات Microsoft SQL Server 2022:

  • في الحالة الأولى، تم استخدام ملف النسخة الاحتياطية BAK المتاح لاستعادة قاعدة البيانات باستخدام Restore.
  • في الحالة الثانية، بعد حذف قاعدة البيانات، تم العثور على ملفات MDF وLDF الفيزيائية واستعادتها باستخدام Hetman RAID Recovery، ثم أُرفقت مجددًا بـ SQL Server عبر Attach.

Hetman RAID Recovery يتيح لك العمل مع الأقراص الفيزيائية وصور الأقراص المنسوخة قطاعًا بقطاع والأقراص البعيدة عبر SSH، كما يدعم Windows وLinux وmacOS. وهذا يجعل من الممكن تنظيم الاستعادة حتى عندما تكون ملفات SQL Server مخزنة على تكوينات متعددة الأقراص أو عندما يكون نزع أقراص الخادم وتوصيلها بكمبيوتر آخر أمرًا غير مريح.

Abdelhamid Balti

المؤلف: , كاتب تقني

عبد الحميد البلطي كاتب تقني في شركة Hetman Software. يتعامل مع البرامج التعليمية والإرشادات والمراجعات التفصيلية حول كيفية عمل أدوات وبرامج الشركة مع جميع أنواع أجهزة تخزين البيانات.

Mykhailo Miroshnichenko

محرر: , كاتب تقني

يعد ميخايلو ميروشنيتشنكو أحد المبرمجين الرائدين في شركة Hetman Software. يشارك معرفته مع قراء مدونتنا، إستنادًا إلى خمسة عشر عامًا من الخبرة في تطوير البرمجيات. بالإضافة إلى البرمجة، يعتبر ميخايلو خبيرًا في مجال إسترداد البيانات وأنظمة الملفات وأجهزة تخزين البيانات ومصفوفات RAID.

نوصى به لك