SQL Server - Section1 - النسخ الاحتياطي والاستعادة (Backup & Restore) في SQL Server

النسخ الاحتياطي والاستعادة (Backup & Restore) في SQL Server

النسخ الاحتياطي (Backup) والاستعادة (Restore) هما من أهم العمليات في إدارة قواعد البيانات، وتُستخدم لحماية البيانات من الفقد أو التلف أو الكوارث.


🎯 ما هو النسخ الاحتياطي Backup؟

النسخ الاحتياطي يعني إنشاء نسخة من قاعدة البيانات تُخزن في ملف خارجي، يمكن استرجاعها لاحقًا.

  • Full Backup: نسخة كاملة من قاعدة البيانات.
  • Differential Backup: يحتوي على التغييرات منذ آخر Full Backup.
  • Transaction Log Backup: يحفظ التغييرات في سجل العمليات (Logs) للاستعادة الدقيقة.

✅ الصيغة الأساسية لعمل Backup


BACKUP DATABASE database_name
TO DISK = 'path_to_file.bak';

🧪 مثال عملي:


BACKUP DATABASE MyDB
TO DISK = 'D:\Backups\MyDB_Full.bak';

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


✅ الصيغة الأساسية لاستعادة قاعدة بيانات (Restore)


RESTORE DATABASE database_name
FROM DISK = 'path_to_file.bak';

🧪 مثال عملي:


RESTORE DATABASE MyDB
FROM DISK = 'D:\Backups\MyDB_Full.bak';

⬅ هذا الأمر يستعيد قاعدة البيانات MyDB من ملف النسخة الاحتياطية.


⚠️ استعادة قاعدة بيانات موجودة بالفعل

إذا كانت قاعدة البيانات موجودة بالفعل، قد تحتاج لاستخدام الخيار WITH REPLACE:


RESTORE DATABASE MyDB
FROM DISK = 'D:\Backups\MyDB_Full.bak'
WITH REPLACE;

📝 ملاحظات مهمة:

  • تأكد أن SQL Server لديه صلاحية للوصول إلى المسار.
  • يمكن استخدام أدوات رسومية مثل SSMS لإجراء النسخ والاستعادة بسهولة.
  • يمكنك الضغط على النسخة باستخدام WITH COMPRESSION أثناء النسخ.

BACKUP DATABASE MyDB
TO DISK = 'D:\Backups\MyDB.bak'
WITH COMPRESSION;

⬅ هذا يقوم بضغط ملف النسخة الاحتياطية لتقليل الحجم.

تعليقات

المشاركات الشائعة من هذه المدونة

C# - Arrays

Entity Framework - ما هو ORM؟ ونبذة عن Dapper وNHibernate

Entity Framework - مقدمة عن Entity Framework