آموزش راهاندازی Log Shipping در SQL Server (گامبهگام)
آموزش راهاندازی Log Shipping در SQL Server (گامبهگام)
مقدمه
در محیطهای حرفهای، یکی از مهمترین دغدغهها در دیتابیس، حفظ پایداری و جلوگیری از از دست رفتن اطلاعات است. یکی از روشهای قدرتمند برای این کار در SQL Server، استفاده از Log Shipping است.
Log Shipping یک راهکار ساده و قابل اعتماد برای ایجاد یک نسخه پشتیبان (Standby) از دیتابیس اصلی است که در صورت بروز مشکل، میتوان به سرعت از آن استفاده کرد.
Log Shipping چیست؟
Log Shipping فرآیندی است که در آن:
- از Transaction Log دیتابیس اصلی (Primary) بکاپ گرفته میشود
- این بکاپ به سرور ثانویه (Secondary) منتقل میشود
- روی دیتابیس ثانویه 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:
- روی دیتابیس راست کلیک کنید
- Properties → Transaction Log Shipping
- گزینه Enable this as a primary database را فعال کنید
- مسیر Backup را مشخص کنید
- زمانبندی (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 میتواند انتخاب بسیار مناسبی باشد.
