فهرست مطالب
Toggleراهاندازی Log Shipping در Microsoft SQL Server کار پیچیدهای نیست، اما اگر برای اولینبار قصد پیادهسازی آن را دارید، داشتن یک راهنمای گامبهگام بسیار مفید خواهد بود. در این آموزش، مراحل تنظیم و پیکربندی Log Shipping در SQL Server را مرور میکنیم.
راهحل
Log Shipping یکی از فناوریهای پایهای High Availability در SQL Server است که بهصورت داخلی در این پلتفرم ارائه شده است. این قابلیت یک فرآیند خودکار برای تهیه نسخه پشتیبان و بازیابی است که به شما امکان میدهد نسخهای دیگر از پایگاه داده خود را برای سناریوهای Failover ایجاد کنید.
در Log Shipping، ابتدا از پایگاه داده اصلی (Primary/Source) یک نسخه پشتیبان کامل و سپس نسخههای پشتیبان Transaction Log تهیه میشود. این فایلها به یک یا چند سرور ثانویه (Secondary / Standby / Destination) منتقل شده و در آنجا بازیابی میشوند.
پایگاه داده مقصد در سرور ثانویه در حالت Standby یا No-Recovery قرار میگیرد. این وضعیت باعث میشود که بتوان نسخههای جدید Transaction Log را از سرور اصلی تهیه، به سرور ثانویه منتقل و سپس اعمال (Restore) کرد.
مجوزهای موردنیاز برای Log Shipping
برای راهاندازی Log Shipping باید سطح دسترسی sysadmin روی سرور داشته باشید.
حداقل پیشنیازها
-
نصب نسخههای Standard، Workgroup یا Enterprise روی تمامی سرورهای درگیر
-
یکسان بودن تنظیمات Case Sensitivity در همه سرورها
-
استفاده پایگاه داده از Recovery Model نوع Full یا Bulk-Logged
-
وجود یک پوشه اشتراکی (Shared Folder) برای انتقال فایلهای T-Log
-
پیکربندی صحیح سرویس SQL Server Agent
همچنین توصیه میشود در هر دو سمت از نسخه یکسان SQL Server استفاده شود. بهعنوان مثال، میتوان Log Shipping را از SQL Server 2005 به 2008 انجام داد، اما عکس آن امکانپذیر نیست. از آنجا که Log Shipping معمولاً برای Failover استفاده میشود، یکسان بودن نسخهها اطمینان میدهد که در زمان جابجایی، محیط اجرایی مشابهی خواهید داشت.
بررسی Recovery Model پایگاه داده
اطمینان حاصل کنید که پایگاه داده در حالت Full یا Bulk-Logged قرار دارد. برای بررسی میتوانید از جدول سیستمی sys.databases استفاده کنید:
SELECT name, recovery_model_desc
FROM sys.databases
WHERE name = 'jugal'
برای تغییر Recovery Model:
USE [master]
GO
ALTER DATABASE [jugal]
SET RECOVERY FULL WITH NO_WAIT
GO
فعالسازی پایگاه داده Primary برای Log Shipping
در سرور Primary، در SSMS روی پایگاه داده موردنظر راستکلیک کرده و گزینه Properties را انتخاب کنید. سپس به بخش Transaction Log Shipping بروید
گزینه:
Enable this as primary database in a log shipping configuration
را فعال کنید.

پیکربندی و زمانبندی Transaction Log Backup
در مرحله بعد باید تنظیمات Backup و زمانبندی آن را مشخص کنید. روی گزینه Backup Settings کلیک کنید.

اگر فایلهای پشتیبان در یک پوشه شبکه ذخیره میشوند، مسیر شبکه را وارد کنید. در صورت استفاده از مسیر محلی، آدرس پوشه محلی را مشخص نمایید.
قابلیت Backup Compression از نسخه 2008 به بعد معرفی شده است. هنگام پیکربندی Log Shipping میتوانید مشخص کنید که فایلهای Log Backup فشرده شوند یا خیر.
پس از تکمیل این مرحله، یک Job مربوط به Backup در سرور Primary ایجاد خواهد شد.

پیکربندی سرور و پایگاه داده Secondary
در این مرحله باید سرور ثانویه و پایگاه داده مقصد را تعریف کنید. روی دکمه Add کلیک کنید. امکان افزودن چندین سرور Secondary برای سناریوهای One-to-Many وجود دارد.

پس از کلیک روی Add، صفحهای باز میشود که در آن باید به سرور Secondary متصل شوید. با انتخاب گزینه Connect اتصال برقرار میشود و سپس به سه تب مختلف دسترسی خواهید داشت.
مقداردهی اولیه پایگاه داده Secondary
در این مرحله مشخص میکنید دادهها چگونه روی سرور Secondary ایجاد شوند. سه گزینه وجود دارد:
-
ایجاد Backup جدید و Restore آن
-
استفاده از Backup موجود و Restore
-
عدم انجام عملیات، زیرا پایگاه داده قبلاً بهصورت دستی Restore شده و در وضعیت صحیح قرار گرفته است

تنظیم مسیر کپی فایلها
در این بخش باید مسیر پوشه اشتراکی مقصد را مشخص کنید تا Job مربوط به Copy فایلهای T-Log را در آن ذخیره کند. پس از تکمیل، یک Job کپی روی سرور Secondary ایجاد میشود.

تنظیم Restore Transaction Log
در این مرحله باید وضعیت Restore پایگاه داده و زمانبندی اجرای آن را مشخص کنید. با این کار، Job مربوط به Restore در سرور Secondary ساخته میشود.

پیکربندی Monitoring
در این مرحله میتوان Monitoring مربوط به Log Shipping را فعال کرد تا در صورت بروز خطا هشدار دریافت شود. این بخش اختیاری است.

با کلیک روی Settings وارد صفحه Log Shipping Monitor Settings میشوید. سپس با انتخاب Connect میتوانید یک Monitor Server تعیین کنید. مانیتورینگ میتواند از طریق سرور مبدأ، سرور مقصد یا یک نمونه جداگانه SQL Server انجام شود.
میتوانید هشدارهایی تعریف کنید که در صورت شکست Jobها در سرور مبدأ یا مقصد فعال شوند. همچنین امکان تعیین مدت نگهداری تاریخچه Jobها در پایگاه داده MSDB وجود دارد.
توجه داشته باشید که پس از پیکربندی کامل Log Shipping، امکان افزودن Monitor Server وجود نخواهد داشت.

تکمیل تنظیمات
در نهایت با کلیک روی OK فرآیند پیکربندی Log Shipping تکمیل میشود و تنظیمات ذخیره خواهند شد.

سوالات متداول (FAQ)
1. Log Shipping چه تفاوتی با Always On دارد؟
LS یک مکانیزم مبتنی بر Backup و Restore دورهای است، در حالی که Always On Availability Groups قابلیت Replication بلادرنگتری ارائه میدهد و امکان Read-Only روی Secondary را فراهم میکند.
LS سادهتر، کمهزینهتر و مناسب سناریوهای Disaster Recovery پایه است، اما Always On برای High Availability پیشرفتهتر طراحی شده است.
2. آیا در Log Shipping امکان Read روی سرور Secondary وجود دارد؟
بله، در صورتی که پایگاه داده در حالت Standby تنظیم شود میتوان بهصورت Read-Only به آن دسترسی داشت. البته در زمان Restore لاگ جدید، اتصالها قطع خواهند شد.
3. در صورت Failover فرآیند بهصورت خودکار انجام میشود؟
خیر، Log Shipping Failover خودکار ندارد و عملیات Failover باید بهصورت دستی انجام شود. به همین دلیل بیشتر در سناریوهای Disaster Recovery استفاده میشود نه High Availability بلادرنگ.
4. اگر یکی از Jobهای Backup، Copy یا Restore متوقف شود چه اتفاقی میافتد؟
در این صورت زنجیره Transaction Log شکسته میشود و سرور Secondary از Primary عقب میماند. به همین دلیل فعالسازی Monitoring و Alertها بسیار حیاتی است.
5. آیا میتوان چندین Secondary Server تعریف کرد؟
بله، Log Shipping از معماری One-to-Many پشتیبانی میکند و میتوان چندین سرور Secondary برای اهداف DR یا Reporting تعریف کرد.
6. حداقل Recovery Model موردنیاز چیست؟
پایگاه داده باید در حالت Full یا Bulk-Logged باشد. در حالت Simple امکان Log Shipping وجود ندارد.
7. آیا نسخه SQL Server در دو سمت باید یکسان باشد؟
توصیه اکید این است که نسخهها یکسان باشند. انتقال از نسخه پایینتر به بالاتر ممکن است امکانپذیر باشد، اما عکس آن پشتیبانی نمیشود و در سناریوی Failover ریسک ناسازگاری ایجاد میکند.
آیا زیرساخت SQL Server شما آماده بحران است؟
پیادهسازی Log Shipping صرفاً اجرای چند Wizard نیست. طراحی صحیح مسیر Backup، تنظیم زمانبندیها، مدیریت فضای ذخیرهسازی، تست سناریوی Failover و مانیتورینگ حرفهای، همگی بخشی از یک استراتژی واقعی Disaster Recovery هستند.
اگر سازمان شما به دنبال:
• طراحی معماری DR استاندارد
• پیادهسازی Log Shipping یا Always On
• بهینهسازی Performance و Backup Strategy
• مانیتورینگ حرفهای SQL Server
• تست و مستندسازی سناریوی Failover
است، تیم تخصصی لاندا آماده است تا زیرساخت دیتابیس شما را به سطح Enterprise ارتقا دهد. همین امروز یک ارزیابی تخصصی رایگان دریافت کنید و قبل از وقوع بحران، آمادگی واقعی ایجاد کنید.


بدون دیدگاه