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

- ميزات SQL Server
- كيفية الوصول إلى أقراص الخادم
- كيفية استعادة قاعدة بيانات SQL Server 2022 محذوفة
- الخلاصة
- الأسئلة الشائعة
- التعليقات
لاستعادة الملفات، سنستخدم Hetman RAID Recovery. يستطيع البرنامج العثور على ملفات MDF وLDF وBAK على الأقراص الفيزيائية ومصفوفات RAID والأقراص الديناميكية، وكذلك العمل مع صور الأقراص المنسوخة قطاعًا بقطاع. ويمكن لاحقًا استخدام الملفات المستعادة من أجل Restore أو Attach عبر Microsoft SQL Server.
يدعم Hetman RAID Recovery أنظمة Windows وLinux وmacOS.
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، وحدد موقع الحفظ، وانتظر حتى تكتمل عملية النسخ.

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

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

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

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


تحقق أيضًا من الوصول عبر منفذ TCP 22 وتأكد من أن الحساب المستخدم للاتصال لديه الأذونات اللازمة للوصول إلى أقراص الخادم.
بعد إعداد الخادم، افتح Hetman RAID Recovery. في القائمة العلوية، انتقل إلى Tools وحدد Connect via SSH.

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

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

بعد التأكيد، ستظهر هذه الأقراص في النافذة الرئيسية لـ Hetman RAID Recovery، حيث يمكن العمل عليها بالطريقة نفسها مثل الأقراص المتصلة محليًا.
انتبه إلى معدات الشبكة. نظرًا لأن العمليات على الأقراص تُنفذ عبر الشبكة، فمن الأفضل لضمان اتصال مستقر ومريح أن تدعم محطة العمل وWindows Server والشبكة المحلية سرعات نقل بيانات تبلغ 1 غيغابت/ثانية فأعلى. سيساعد ذلك على تسريع تحليل الأقراص ونقل الملفات المستعادة.
تُعد هذه الطريقة مناسبة بشكل خاص إذا كان الخادم لا يزال يعمل وكان نزع عدد كبير من الأقراص وتوصيلها إلى كمبيوتر آخر أمرًا غير مرغوب فيه أو صعبًا.
كيفية استعادة قاعدة بيانات SQL Server 2022 محذوفة
الطريقة 1. استعادة قاعدة بيانات من ملف BAK
لننتقل إلى السيناريو الأول. في هذه الحالة، يتوفر ملف النسخة الاحتياطية الكاملة TestDB_Full.bak بعد الاسترداد، ويمكن استخدامه لاستعادة قاعدة البيانات.
افتح Microsoft SQL Server Management Studio واتصل بمثيل SQL Server المطلوب.

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

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

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

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

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

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

الطريقة 2. استعادة قاعدة بيانات محذوفة
في الحالة التالية، تم حذف قاعدة البيانات TestDB_Restored عن طريق الخطأ ولم تعد تظهر في Microsoft SQL Server Management Studio. كما أصبحت ملفاتها الفيزيائية TestDB_Restored.mdf وTestDB_Restored_log.ldf غير متاحة.
يبقى Dynamic Spanned Volume نفسه متاحًا، لذلك ليست هناك حاجة إلى إعادة إنشاء JBOD مرة أخرى.

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

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


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

لا يُنصح باستعادة الملفات مرة أخرى إلى Dynamic Spanned Volume الأصلي، لأن الكتابة الجديدة قد تستبدل بيانات أخرى قد يكون من الممكن استردادها لاحقًا.
بعد استعادة الملفات الفيزيائية، ارجع إلى Microsoft SQL Server Management Studio. في القائمة السياقية لـ Databases، حدد Attach.

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

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

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

الخلاصة
استعرضنا سيناريوهين رئيسيين للعمل مع ملفات قاعدة بيانات Microsoft SQL Server 2022:
- في الحالة الأولى، تم استخدام ملف النسخة الاحتياطية BAK المتاح لاستعادة قاعدة البيانات باستخدام Restore.
- في الحالة الثانية، بعد حذف قاعدة البيانات، تم العثور على ملفات MDF وLDF الفيزيائية واستعادتها باستخدام Hetman RAID Recovery، ثم أُرفقت مجددًا بـ SQL Server عبر Attach.
Hetman RAID Recovery يتيح لك العمل مع الأقراص الفيزيائية وصور الأقراص المنسوخة قطاعًا بقطاع والأقراص البعيدة عبر SSH، كما يدعم Windows وLinux وmacOS. وهذا يجعل من الممكن تنظيم الاستعادة حتى عندما تكون ملفات SQL Server مخزنة على تكوينات متعددة الأقراص أو عندما يكون نزع أقراص الخادم وتوصيلها بكمبيوتر آخر أمرًا غير مريح.







