سامانه‌های سازمانی ERPتست و صحه‌گذاری شده On-Premises

راهنمای جامع بهینه‌سازی دیتابیس SQL Server و استقرار اکستنشن‌های AL در Dynamics 365 Business Central

راهنمای مهندسی تیونینگ پایگاه داده SQL Server برای بارهای کاری سنگین در Microsoft Dynamics 365 Business Central On-Premises، جلوگیری از Deadlock و قفل‌شدگی جداول، استقرار خودکار پکیج‌های کدهای AL با PowerShell، کلاسترینگ لایه NST (Navision Server Tier) و فعال‌سازی لایسنس دائمی FLF در شبکه‌های ایزوله.

دپارتمان تخصصی راهکارهای سازمانی ERP و دیتابیس Licentraتیم مهندسی و تضمین پایداری
تاریخ انتشار: ۱۰ اسفند ۱۴۰۴
زمان مطالعه: ۵ دقیقه
حجم مطلب: ۹۱۰ کلمه
اندازه متن:

آیا این راهنمای فنی برای شما مفید و کاربردی بود؟

بازخورد شما مستقیماً به تیم مهندسی نرم‌افزار سازمانی Licentra جهت غنابخشی مستندات منتقل می‌گردد.

راهنمای جامع بهینه‌سازی دیتابیس SQL Server و استقرار اکستنشن‌های AL در Dynamics 365 Business Central
خلاصه اجرایی و نکات کلیدی این راهنما

این مقاله به عنوان مستند فنی رسمی و راهنمای عملیاتی، نیازمندی‌ها، ساختار دیتابیس، سناریوهای مانیتورینگ و فرآیندهای راه‌اندازی و پایداری را در محیط‌های واقعی مورد تحلیل قرار می‌دهد:

محیط استقرار: شبکه‌های ایزوله On-Premises و دیتاسنترهای Air-Gapped
مخاطبان هدف: مدیران سیستم، کارشناسان دواپس و مهندسان شبکه
لایسنسینگ: دائمی و بدون نیاز به اتصال یا اعتبارسنجی اینترنتی
پشتیبانی: اعتبارسنجی‌شده در لابراتوار فارم‌های عملیاتی Licentra

سامانه برنامه‌ریزی منابع سازمانی Microsoft Dynamics 365 Business Central (که در گذشته با نام Microsoft Dynamics NAV شناخته می‌شد) در نسخه On-Premises یکی از جامع‌ترین پلتفرم‌ها برای مدیریت مالی، انبارداری، تولید و حسابداری صنعتی است. در سازمان‌هایی با هزاران سند حسابداری و تراکنش‌های سنگین روزانه، بزرگ‌ترین چالش تیم‌های فنی، افت سرعت صدور فاکتورها، ایجاد صف‌های طولانی قفل‌شدگی (Lock Escalation) و خطاهای متوالی Deadlock در پایگاه داده Microsoft SQL Server است.

برای دستیابی به عملکرد روان و بلادرنگ، پیکربندی اختصاصی SQL Server، تیونینگ تنظیمات لایه سرویس میانی (Server Instance - NST) و مدیریت مکانیزه انتشار اکستنشن‌های توسعه‌یافته با زبان AL حیاتی است. در این مقاله جامع، پارامترهای طلایی پایگاه داده، اسکریپت‌های PowerShell استقرار اکستنشن‌ها و مدیریت لایسنس دائمی آفلاین بدون اینترنت تشریح می‌گردد.

کنسول مدیریت پایگاه داده و تنظیمات در Dynamics 365 Business Central
📷 کنسول مدیریت پایگاه داده و تنظیمات در Dynamics 365 Business Central

۱. توپولوژی معماری و جریان داده در Business Central On-Premises #

معماری نسخه‌های مدرن Business Central بر پایه سه لایه استاندارد بنا شده است:

۱. Web Client / Mobile App: رابط کاربری مدرن مبتنی بر HTML5/TypeScript که بدون نیاز به کلاینت قدیمی ویندوزی مستقیماً در مرورگر اجرا می‌شود.

۲. Navision Server Tier (NST): سرویس ویندوزی قدرتمند مبتنی بر .NET Core و CLR که وظیفه ترجمه منطق بیزنسی، اجرای کدهای AL و ارتباط پایگاه داده را بر عهده دارد.

۳. Microsoft SQL Server Database Engine: بانک اطلاعاتی متمرکز شامل جداول اسناد، دفتر کل (General Ledger) و متادیتای سیستم.

text
                  ┌─────────────────────────────────────────┐
                  │       Web Browser / IIS Web Client      │
                  │             192.168.40.10               │
                  └───────────────────┬─────────────────────┘
                                      │ OData / SOAP / Web Client (Port: 7085)
                                      ▼
                  ┌─────────────────────────────────────────┐
                  │      Navision Server Tier (NST) Node    │
                  │             192.168.40.15               │
                  └───────────────────┬─────────────────────┘
                                      │ TCP (Port: 1433)
                                      ▼
                  ┌─────────────────────────────────────────┐
                  │      Microsoft SQL Server 2022          │
                  │      (TempDB, Buffer Pool, Memory)      │
                  │             192.168.40.20               │
                  └─────────────────────────────────────────┘

۲. تنظیمات طلایی بهینه‌سازی SQL Server برای Business Central #

دیتابیس Business Central دارای ساختار داده‌های رابطه‌ای فشرده با تراکنش‌های همزمان بسیار بالا است. تنظیمات پیش‌فرض SQL Server برای این نوع بار کاری مناسب نیست و باید دستورات زیر بر روی دیتابیس اعمال گردد:

تنظیمات سطح پایگاه داده و شاخص‌ها:

sql
USE [master];
GO

-- فعال‌سازی سطح ایزولاسیون RCSI جهت جلوگیری از بلاک شدن کوئری‌های خواندن توسط تراکنش‌های ثبت فاکتور
ALTER DATABASE [BC_PROD] SET READ_COMMITTED_SNAPSHOT ON WITH ROLLBACK IMMEDIATE;
GO

-- جلوگیری از رشد تصادفی و افت سرعت در زمان ثبت اسناد مالی
ALTER DATABASE [BC_PROD] SET AUTO_CREATE_STATISTICS ON(INCREMENTAL = ON);
ALTER DATABASE [BC_PROD] SET AUTO_UPDATE_STATISTICS ON;
ALTER DATABASE [BC_PROD] SET AUTO_UPDATE_STATISTICS_ASYNC ON;
GO

-- بهینه‌سازی پارامتر MAXDOP برای جلوگیری از اشغال تمام هسته‌ها توسط گزارش‌های سنگین
-- توصیه مایکروسافت برای Business Central: تنظیم MAXDOP روی 1 یا مقداری متناسب با سوکت NUMA
USE [BC_PROD];
GO
ALTER DATABASE SCOPED CONFIGURATION SET MAXDOP = 1;
GO

-- فعال‌سازی بهینه‌سازی کوئری‌های موقت (Optimize for Ad Hoc Workloads)
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'optimize for ad hoc workloads', 1;
RECONFIGURE;
GO

بهینه‌سازی TempDB

پایگاه داده TempDB در فرآیندهای بستن حساب‌ها و انبارگردانی مکرراً مورد استفاده قرار می‌گیرد. موارد زیر برای TempDB الزامی است:

  • ایجاد فایل‌های داده TempDB به تعداد هسته‌های فیزیکی CPU (تا حداکثر ۸ یا ۱۶ فایل با سایز اولیه و نرخ رشد کاملاً یکسان).
  • قرار دادن فایل‌های TempDB بر روی یک درایو اختصاصی NVMe جدا از فایل داده‌های اصلی MDF.

۳. تنظیمات لایه میانی Navision Server Tier (NST) #

در کنسول مدیریتی Business Central Server Administration یا از طریق ویرایش مستقیم فایل CustomSettings.config در شاخه سرویس، مقادیر زیر را بهینه‌سازی نمایید:

xml
<!-- تنظیم سایز بافر تبادل داده رکوردها با SQL -->
<add key="DataCacheSize" value="10" /> <!-- تخصیص ۱۰ گیگابایت یا ۲۰ درصد رم برای کش داده‌های خوانده‌شده -->
<add key="MetadataProviderCacheSize" value="2000" />
<add key="MaxConcurrentCalls" value="1000" />
<add key="SqlLongRunningThreshold" value="15000" /> <!-- ثبت هشدارهای کوئری بالای ۱۵ ثانیه در Event Viewer -->
<add key="EnableSqlParametersByDataArea" value="true" />

پس از اعمال این مقادیر، سرویس NST با سرعت چشمگیری گزارش‌ها را از حافظه RAM پاسخ داده و فراخوانی‌های تکراری دیسک SQL تا ۸۰٪ کاهش می‌یابد.

۴. انتشار خودکار و تست اکستنشن‌های سفارشی AL با PowerShell #

در متدولوژی مدرن Business Central، تمامی شخصی‌سازی‌ها، گزارش‌های مالیاتی ایران، فرم‌های انبارداری و اتصال به سامانه‌های مودیان در قالب پکیج‌های AL Extensions (.app) پیاده‌سازی می‌شوند. اسکریپت زیر فرآیند انتشار امن را در محیط پروداکشن پیاده می‌کند:

powershell
Import-Module "C:\Program Files\Microsoft Dynamics 365 Business Central\230\Service\NavAdminTool.ps1"

$ServerInstance = "BC230"
$AppPath = "D:\Builds\CompanyCustom_TaxLocalization_1.0.4.0.app"

Write-Host "Publishing AL Extension..." -ForegroundColor Cyan
Publish-NAVApp -ServerInstance $ServerInstance -Path $AppPath -SkipVerification

Write-Host "Synchronizing Extension Schema with Database..." -ForegroundColor Yellow
Sync-NAVApp -ServerInstance $ServerInstance -Name "CompanyCustom_TaxLocalization" -Mode ForceSync

Write-Host "Installing and Activating Extension for All Tenants..." -ForegroundColor Green
Install-NAVApp -ServerInstance $ServerInstance -Name "CompanyCustom_TaxLocalization"

# تایید وضعیت استقرار و فعال بودن
Get-NAVAppInfo -ServerInstance $ServerInstance | Where-Object { $_.Name -like "*CompanyCustom*" }

۵. لایسنسینگ آفلاین FLF و پایداری در شبکه بدون اینترنت #

در دیتاسنترهای ایزوله که به شبکه مایکروسافت دسترسی ندارند، اعتبارسنجی لایسنس از طریق فایل کلید معتبر (.flf) انجام می‌شود. پکیج ارائه‌شده توسط Licentra:

  • لایسنس کامل Full User و ماژول‌های پیشرفته: فعال‌سازی نامحدود ماژول‌های تولید (Manufacturing)، زنجیره تامین و دارایی‌های ثابت.
  • بدون انقضا و بدون ارتباط خارجی: جلوگیری از قفل شدن دیتابیس در پایان سال مالی یا به دلیل عدم استعلام اینترنتی.
  • پشتیبانی کامل از شناسه گرانول‌های اختصاصی AL: امکان توسعه آبجکت‌های سفارشی در بازه شماره‌های مجاز سازمانی.
powershell
# دستور ثبت و بارگذاری فایل لایسنس آفلاین بر روی سرور
Import-NAVServerLicense -ServerInstance "BC230" -LicenseFile "D:\Licenses\Licentra_BC_Enterprise.flf" -Database NavDatabase
Restart-NAVServerInstance -ServerInstance "BC230"

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

دپارتمان تخصصی راهکارهای سازمانی ERP و دیتابیس Licentra

دپارتمان مهندسی و تضمین پایداری سامانه‌های On-Premises
درخواست مشاوره فنی

تمامی راهنماها و بسته‌های ارائه‌شده توسط مهندسان Licentra در فارم‌های عملیاتی و شبکه‌های ایزوله سازمانی تست و صحه‌گذاری شده‌اند تا پایداری کامل بدون نیاز به اینترنت یا سرویس‌های ابری خارجی تضمین گردد.

مقالات و راهنماهای مرتبط

راهنماهای پیشنهادی بر اساس موضوع، پلتفرم و برچسب‌های مشترک

مشاهده همه مقالات
راهنمای جامع معماری، استقرار و مدیریت Microsoft Dynamics 365 Business Central در محیط‌های On-Premises
سیستم‌های سازمانی و ERP

راهنمای جامع معماری، استقرار و مدیریت Microsoft Dynamics 365 Business Central در محیط‌های On-Premises

راهنمای فنی عمیق راه‌اندازی و نگهداری سامانه برنامه‌ریزی منابع سازمان (ERP) مایکروسافت بیزینس سنترال؛ پیکربندی لایه سرور میانی (NST)، توسعه افزونه‌های AL، اتصال به SQL Server، بهینه‌سازی عملکرد و لایسنس سازمانی نامحدود.

۲۸ بهمن ۱۴۰۴مطالعه کامل