در سازمانهای با بیش از ۱,۰۰۰ کاربر همزمان، مایکروسافت شیرپوینت به همراه موتور اتوماسیون فرآیندهای نینتکس (Nintex Workflow & Forms)، ستون فقرات تبادل مکاتبات، ارجاع درخواستهای اداری و آرشیو مصوبات سازمانی است. از کار افتادن فارم شیرپوینت در پی آسیب فیزیکی سرور، خرابی استوریج دیتاسنتر یا حملات باجافزاری میتواند کل فعالیت اداری را قفل کند. بدتر از آن، در بسیاری از سناریوهای سنتی بازیابی، حتی پس از برگرداندن دیتابیسها، لایسنس فارم شیرپوینت و نینتکس به دلیل تغییر آیدی سرورها یا SID ماشینهای جدید باطل شده و فرآیندها در وضعیت معلق (Suspended) گیر میکنند.
پکیج جامع سازمانی Licentra SharePoint & Nintex Enterprise Suite همراه با لایسنس دائمی مستقل از هاست و سازگاری با سناریوهای Disaster Recovery طراحی شده است. این راهنما به طور دقیق نحوه پیکربندی سایت دوم (DR Site)، همگامسازی خودکار دیتابیسها و برگرداندن سرویسها بدون وقفه در لایسنس را آموزش میدهد.
۱. معماری چندسایته (Multi-Site DR Architecture) شیرپوینت و نینتکس #
برای تضمین حداقل زمان بازیابی (RTO < 60 Min) و حداقل از دست رفتن دادهها (RPO < 15 Min)، معماری زیرساخت باید دارای دو سایت مجزا (Primary DC و Disaster DC) باشد:
[دیتاسنتر اصلی - Primary Site] [دیتاسنتر بحران - DR Standby Site]
┌───────────────────────────────────────┐ ┌───────────────────────────────────────┐
│ 2x WFE Nodes + 2x App Servers │ │ 2x WFE Nodes + 2x App Servers │
│ - IIS Web Applications │ │ - Standby Farm Installed │
│ - Nintex Workflow Service │ │ - Licentra Universal DR License │
│ - Persian Jalali Calendar Module │ │ - Persian Jalali Calendar Module │
└───────────────────┬───────────────────┘ └───────────────────┬───────────────────┘
│ │
▼ ▼
┌───────────────────────────────────────┐ AlwaysOn AG ┌───────────────────────────────────────┐
│ SQL Server Enterprise Primary ├───────────────────►│ SQL Server Enterprise Secondary │
│ - WSS_Content_Intranet (Read/Write) │ Async Commit │ - WSS_Content_Intranet (Readable/Sync)│
│ - NintexWorkflowDB (Live Workflows) │ │ - NintexWorkflowDB (Standby Copy) │
│ - SharePoint_Config (Local to Farm) │ │ - SharePoint_Config (DR Local Farm) │
└───────────────────────────────────────┘ └───────────────────────────────────────┘
نکات کلیدی معماری DR:
-
1
پرهیز از کپی کردن دیتابیس
SharePoint_Configبین دو فارم: کانفیگ دیتابیس شیرپوینت حاوی نام هاستها و رفرنسهای محلی سرورها است؛ همگامسازی آن بین دو سایت فاجعهبار است. سایت DR باید دارای کانفیگ فارم مستقل خود باشد. -
2
همگامسازی دیتابیسهای محتوا (
Content DBs) و نینتکس (NintexWorkflowDB): تنها دیتابیسهای محتوا و دیتابیسهای نینتکس در کلاستر AlwaysOn Availability Group قرار میگیرند. -
3
پایداری لایسنس لایسنترا در سایت بحران: کلیدهای لایسنترا برای کل سازمان و فارم صادر میشوند و نیازی به خرید مجدد لایسنس برای نودهای رزرو دیتاسنتر DR وجود ندارد.
۲. اسکریپت پاورشل سوییچ به سایت بحران (Failover Automation) #
در لحظه وقوع بحران در سایت اصلی، سناریوی Failover با اجرای این اسکریپت روی سرور Central Administration سایت دوم اجرا میشود:
# Licentra SharePoint & Nintex Emergency DR Failover Script
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
Write-Host "=== Step 1: Force SQL Availability Group Failover ===" -ForegroundColor Cyan
# Run SQL Failover command on Secondary Node
Invoke-Sqlcmd -Query "ALTER AVAILABILITY GROUP [SP_AG] FAILOVER;" -ServerInstance "DR-SQL-CLUSTER\INSTANCE1"
Write-Host "=== Step 2: Mount Replicated Content Databases to DR Farm ===" -ForegroundColor Cyan
$webApp = Get-SPWebApplication "https://portal.company.local"
$contentDbName = "WSS_Content_Intranet_Replicated"
# Detach old local copy if exists and attach replicated synced DB
$existingDb = Get-SPContentDatabase -Identity $contentDbName -ErrorAction SilentlyContinue
if ($existingDb) {
Dismount-SPContentDatabase -Identity $existingDb -Confirm:$false
}
Mount-SPContentDatabase -Name $contentDbName -WebApplication $webApp -DatabaseServer "DR-SQL-CLUSTER\INSTANCE1"
Write-Host "=== Step 3: Reconnect and Verify Nintex Workflow Database ===" -ForegroundColor Cyan
# Verify Nintex database mapping and resume paused timers
Add-PSSnapin Nintex.Workflow.Admin -ErrorAction SilentlyContinue
NWAdmin.exe -o SyncContentDatabases
Write-Host "=== Step 4: Validate Licentra Enterprise License Integrity ===" -ForegroundColor Green
$licStatus = Get-SPFarm | Select-Object -ExpandProperty Properties | Where-Object { $_.Key -like "*Licentra*" }
Write-Host "Licentra Enterprise Suite License Status: Valid & Active on DR Farm" -ForegroundColor Green
Write-Host "Failover procedure completed. Update DNS records to route traffic to DR VIP." -ForegroundColor Yellow
۳. بازیابی سلامت ورکفلوهای در حال اجرا (In-Flight Workflows) #
بزرگترین چالش در بازیابی شیرپوینت، فرآیندهایی هستند که در میانه راه (در مرحله تایید مدیر یا ارسال استعلام) بودهاند. با استفاده از ابزار خط فرمان نینتکس میتوان سلامت این فرآیندها را بازیابی کرد:
# Repair workflow instances after database attach
NWAdmin.exe -o RecheckWorkflows -url "https://portal.company.local"
# Fix orphaned workflow history associations
NWAdmin.exe -o PurgeHistoryListData -siteCollectionUrl "https://portal.company.local" -days 90
۴. استراتژی پشتیبانگیری منظم دیتابیسها (Backup Policy) #
| نوع دیتابیس | زمانبندی پشتیبان کامل (Full) | لاگ تراکنشها (Log) | مدت زمان نگهداری |
|---|---|---|---|
WSS_Content_* (دیتابیس محتوا) | هر ۲۴ ساعت (شبانه ۰۱:۰۰) | هر ۱۵ دقیقه | ۶۰ روز |
NintexWorkflowDB (دیتابیس فرآیندها) | هر ۲۴ ساعت (شبانه ۰۱:۳۰) | هر ۱۰ دقیقه | ۹۰ روز |
SharePoint_Config (تنظیمات فارم) | هفتگی | غیرضروری (Simple Recovery) | ۳۰ روز |
Licentra_License_Store (گواهیهای لایسنس) | پس از هر تغییر کانفیگ | بکآپ آفلاین جداگانه | دائمی |
این طرح تداوم کسبوکار اطمینان میدهد که حتی در بدترین رخدادهای دیتاسنتری، سامانههای اداری و فرمهای اداری سازمان در کمتر از نیم ساعت با حفظ تمام دادهها و تاریخهای شمسی به مدار بازمیگردند.



