آموزش راه‌اندازی Log Shipping در SQL Server (گام‌به‌گام)

Log Shipping در SQL Server، راه‌اندازی Log Shipping، آموزش Log Shipping 1405/3/24
نویسنده: مدرس بهمن آبادی

آموزش راه‌اندازی Log Shipping در SQL Server (گام‌به‌گام)

Log shipping in SQL Server

مقدمه

در محیط‌های حرفه‌ای، یکی از مهم‌ترین دغدغه‌ها در دیتابیس، حفظ پایداری و جلوگیری از از دست رفتن اطلاعات است. یکی از روش‌های قدرتمند برای این کار در SQL Server، استفاده از Log Shipping است.

Log Shipping یک راهکار ساده و قابل اعتماد برای ایجاد یک نسخه پشتیبان (Standby) از دیتابیس اصلی است که در صورت بروز مشکل، می‌توان به سرعت از آن استفاده کرد.

Log Shipping چیست؟

Log Shipping فرآیندی است که در آن:

  1. از Transaction Log دیتابیس اصلی (Primary) بکاپ گرفته می‌شود
  2. این بکاپ به سرور ثانویه (Secondary) منتقل می‌شود
  3. روی دیتابیس ثانویه Restore می‌شود

این فرآیند به‌صورت زمان‌بندی‌شده (Scheduled) انجام می‌شود.

اجزای اصلی Log Shipping

1. Primary Server

سروری که دیتابیس اصلی روی آن قرار دارد و لاگ‌ها از اینجا گرفته می‌شوند.

2. Secondary Server

سروری که بکاپ لاگ‌ها روی آن Restore می‌شود.

3. Monitor Server (اختیاری)

برای مانیتورینگ وضعیت Log Shipping استفاده می‌شود.

پیش‌نیازها

قبل از راه‌اندازی Log Shipping باید موارد زیر فراهم باشد:

  • نصب SQL Server روی هر دو سرور
  • دسترسی شبکه بین سرورها
  • یک Shared Folder برای انتقال لاگ‌ها
  • تنظیم دیتابیس در حالت Full Recovery Model

مراحل راه‌اندازی Log Shipping

مرحله 1: تنظیم Recovery Model

ابتدا باید دیتابیس را روی حالت Full قرار دهید:

ALTER DATABASE YourDB
SET RECOVERY FULL;

مرحله 2: گرفتن Full Backup

از دیتابیس اصلی یک بکاپ کامل بگیرید:

BACKUP DATABASE YourDB TO DISK = 'C:\Backup\YourDB.bak';

مرحله 3: Restore روی سرور Secondary

بکاپ را روی سرور دوم Restore کنید:

  • RESTORE DATABASE YourDB FROM DISK = 'C:\Backup\YourDB.bak' WITH NORECOVERY;

    مرحله 4: فعال‌سازی Log Shipping

    در SQL Server Management Studio:

    1. روی دیتابیس راست کلیک کنید
    2. Properties → Transaction Log Shipping
    3. گزینه Enable this as a primary database را فعال کنید
    4. مسیر Backup را مشخص کنید
    5. زمان‌بندی (Schedule) را تنظیم کنید

    مرحله 5: تنظیم Secondary Server

    • اضافه کردن Secondary Database
    • تنظیم مسیر کپی لاگ‌ها
    • تنظیم Restore Mode:
      • NORECOVERY (غیرفعال برای استفاده مستقیم)
      • STANDBY (قابل خواندن)

      مرحله 6: تنظیم Jobها

      SQL Server به‌صورت خودکار 3 Job ایجاد می‌کند:

      • Backup Job (در Primary)
      • Copy Job (انتقال لاگ)
      • Restore Job (در Secondary)

      نحوه کار Log Shipping

      پس از راه‌اندازی:

      • لاگ‌ها در Primary تولید می‌شوند
      • به‌صورت زمان‌بندی‌شده کپی می‌شوند
      • در Secondary اعمال می‌شوند

      این فرآیند باعث می‌شود دیتابیس دوم تقریباً همیشه به‌روز باشد.

      مزایای Log Shipping

    راه‌اندازی ساده نسبت به روش‌های دیگر

    مناسب برای Disaster Recovery

    هزینه کمتر نسبت به Always On

     

  • کنترل کامل روی زمان‌بندی

  • معایب Log Shipping

    • Real-time نیست (تاخیر دارد)
    • Failover دستی است
    • فقط Read-Only در Secondary

    کاربردهای Log Shipping

    • ایجاد نسخه پشتیبان آماده (Standby)
    • گزارش‌گیری از دیتابیس بدون فشار روی سرور اصلی
    • سناریوهای Disaster Recovery

    نکات مهم

    • فضای کافی برای لاگ‌ها در نظر بگیرید
    • مانیتورینگ Jobها را جدی بگیرید
    • زمان‌بندی مناسب انتخاب کنید (مثلاً هر 5 دقیقه)
    • تست Failover را حتماً انجام دهید

    نتیجه‌گیری

    Log Shipping یکی از ساده‌ترین و در عین حال کاربردی‌ترین روش‌ها برای افزایش امنیت و پایداری دیتابیس در SQL Server است.

  • اگر به دنبال یک راهکار کم‌هزینه و قابل اعتماد برای بکاپ‌گیری و بازیابی اطلاعات هستید، Log Shipping می‌تواند انتخاب بسیار مناسبی باشد.