SQL BACKUP DATABASE for SQL Server

  1. در SQL Server از دستور BACKUP DATABASE برای گرفتن نسخه پشتیبان (Backup) از یک دیتابیس استفاده می‌کنیم.
    این کار باعث میشه در صورت حذف، خرابی یا آسیب دیدن داده‌ها، بتونیم دیتابیس رو بازیابی کنیم.

    🔹 ساختار کلی

    BACKUP DATABASE database_name TO DISK = 'path_to_backup_file.bak';
    • database_name → نام دیتابیسی که می‌خوایم ازش بکاپ بگیریم.

    • path_to_backup_file.bak → مسیر و نام فایل بکاپ.

    🔹 مثال ساده

    BACKUP DATABASE SchoolDB TO DISK = 'C:\Backups\SchoolDB.bak';

    📌 توضیح: از دیتابیس SchoolDB نسخه پشتیبان گرفته میشه و در مسیر مشخص‌شده ذخیره میشه.

    🔹 گرفتن بکاپ با توضیح (Description)

    BACKUP DATABASE SchoolDB TO DISK = 'C:\Backups\SchoolDB.bak' WITH DESCRIPTION = 'Full Backup of SchoolDB';

    📌 توضیح بکاپ در متادیتای فایل ذخیره میشه تا بعداً بدونیم این بکاپ مربوط به کدوم زمان یا هدف بوده.

    🔹 بکاپ تفاضلی (Differential Backup)

    بکاپ تفاضلی فقط تغییرات نسبت به آخرین بکاپ کامل رو ذخیره می‌کنه.

    BACKUP DATABASE SchoolDB TO DISK = 'C:\Backups\SchoolDB_Diff.bak' WITH DIFFERENTIAL;

    📌 این روش باعث میشه بکاپ‌ها سریع‌تر گرفته بشن و فضای کمتری اشغال کنن.

    🔹 نکات مهم

    • قبل از بکاپ مطمئن شو که مسیر مقصد وجود داره.

    • فرمت فایل بکاپ معمولاً .bak هست.

    • فقط کاربران با سطح دسترسی Admin یا Backup Operator می‌تونن بکاپ بگیرن.

    • برای بازیابی از بکاپ، از دستور RESTORE DATABASE استفاده میشه.

    • بهتره به‌صورت منظم از دیتابیس‌ها بکاپ گرفته بشه (روزانه یا هفتگی).