07
مه
یکی از اولین جاهایی که پس از نصب داینامیکس ۳۶۵ با مشکل مواجه میشوید، مربوط به استخرهای برنامه در آیآیاس است. این استخرها در واقع محیط اجرایی برای وبسایت داینامیکس را فراهم میکنند. اگر هویت (Identity) تعریف شده برای یک استخر برنامه، یعنی حسابی که قرار است سرویس با آن اجرا شود، به درستی تنظیم نشده باشد، وبسایت داینامیکس نمیتواند به درستی بارگذاری شود یا به منابع مورد نیاز خود دسترسی پیدا کند. معمولاً این مشکل زمانی رخ میدهد که حساب مشخص شده، دسترسی کافی به فایلهای سیستم یا پایگاه داده را ندارد و این موضوع منجر به نمایش خطاهای مختلفی در مرورگر کاربر میشود.
برای رفع این مسئله، لازم است تا به مدیر آیآیاس مراجعه کرده و در بخش استخرهای برنامه، مشخصات هویت هر استخر را بررسی کنید. باید اطمینان حاصل نمایید که حساب کاربری معرفی شده (مثلاً NetworkService یا یک حساب دامنه مشخص) از مجوزهای لازم برخوردار است. در بسیاری از موارد، تنظیم این حساب به گونهای که با حساب سرویس داینامیکس همخوانی داشته باشد، بسیاری از خطاهای اولیه دسترسی را برطرف میکند. همچنین، پس از هر بار تغییر در هویت استخر برنامه، لازم است تا استخر مربوطه یک بار متوقف و سپس مجدداً راهاندازی شود تا تغییرات اعمال گردند.
حتی اگر استخر برنامه با هویت صحیحی پیکربندی شده باشد، باز هم ممکن است با خطای “دسترسی رد شد” مواجه شوید. علت این امر به مجوزهای سطح فایلسیستم (NTFS Permissions) بر روی پوشهای بازمیگردد که فایلهای وبسایت داینامیکس در آن قرار گرفتهاند. حساب کاربری مرتبط با استخر برنامه برای اینکه بتواند فایلهای برنامه را اجرا کرده و لاگهای لازم را بنویسد، نیاز به مجوز خواندن و اجرا (Read & Execute) بر روی آن پوشه دارد. اگر این مجوزها به درستی تنظیم نشده باشند، آیآیاس نمیتواند به محتوای سایت دسترسی پیدا کند و خطای 403 یا خطاهای مشابه را به کاربر نمایش میدهد.
برای حل این مشکل، باید به پوشه نصب داینامیکس (معمولاً در مسیر Inetpub) رفته و وارد بخش خصوصیات (Properties) آن شوید. در برگه امنیت (Security)، باید حساب کاربری مربوط به استخر برنامه را اضافه کرده و حداقل مجوز “خواندن و اجرا” را به آن اعطا کنید. این کار به آیآیاس اجازه میدهد تا به فایلها دسترسی پیدا کند و برنامه را به درستی بارگذاری نماید. فراموش نکنید که این تنظیمات باید بر روی تمام سرورهایی که نقش وب را در معماری داینامیکس ایفا میکنند، اعمال شود.
فرآیند نصب داینامیکس ۳۶۵ به طور خودکار باید مؤلفههای مورد نیاز خود را در آیآیاس ثبت کند. با این حال، گاهی اوقات به دلیل مشکلاتی در حین نصب یا وجود نسخههای قبلی آیآیاس، این ثبتنام به درستی انجام نمیشود. در این حالت، ممکن است وبسایت ایجاد شده باشد، اما ماژولها و هندلرهای خاص داینامیکس در آن فعال نباشند و در نتیجه برنامه از کار بیفتد. این مشکل اغلب با خطاهایی همراه است که به نبود فایلها یا ماژولهای خاص در پیکربندی آیآیاس اشاره دارند.
در چنین شرایطی، بهترین راهکار استفاده از ابزار خط فرمان “aspnet_regiis” است تا اطمینان حاصل شود که آخرین نسخه چارچوب داتنت به درستی با آیآیاس ثبت شده است. همچنین میتوان با اجرای مجدد فایل نصب کننده داینامیکس در حالت تعمیر (Repair) یا با استفاده از اسکریپتهای مدیریتی که مخصوص ثبت مجدد برنامه در آیآیاس هستند، این مشکل را برطرف کرد. پس از این اقدامات، معمولاً نیاز به یک بار راهاندازی مجدد سرویس آیآیاس خواهد بود.
در دنیای امروز، استفاده از پروتکل امن HTTPS برای برنامههای تحت وب یک الزام است و داینامیکس ۳۶۵ نیز از این قاعده مستثنی نیست. اگر وبسایت داینامیکس برای استفاده از پروتکل امن پیکربندی شده باشد، وجود هرگونه مشکل در گواهی امنیتی (SSL Certificate) نصب شده روی آیآیاس میتواند دسترسی به برنامه را با مشکل مواجه کند. این مشکلات میتوانند شامل منقضی شدن گواهی، عدم تطابق نام دامنه در گواهی با آدرس وبسایت، یا نصب ناقص گواهی باشد. در این موارد، مرورگرها خطاهای امنیتی نمایش داده و از بارگذاری صفحه جلوگیری میکنند.
برای عیبیابی این مسئله، باید وارد مدیر آیآیاس شده و گواهیهای نصب شده بر روی وبسایت مربوطه را بررسی کنید. اطمینان حاصل کنید که گواهی معتبر است، تاریخ انقضای آن نگذشته و با آدرس وبسایت (Common Name) مطابقت دارد. اگر گواهی معتبر نیست، باید آن را بهروزرسانی یا تعویض کنید. همچنین میتوانید برای تست موقت، وبسایت را به گونهای پیکربندی کنید که از پروتکل HTTP استفاده کند تا مطمئن شوید مشکل از گواهی است.
همچنین بخوانید: قوانین تجاری در داینامیکس 365
یکی از رایجترین موانع در برقراری ارتباط بین داینامیکس ۳۶۵ و اسکیوال سرور، فایروال ویندوز یا هر فایروال دیگری است که بر روی سرور پایگاه داده فعال میباشد. اسکیوال سرور به طور پیشفرض از پورت ۱۴۳۳ برای ارتباطات استفاده میکند. اگر این پورت در فایروال برای ترافیک ورودی باز نباشد، سرور برنامه داینامیکس نمیتواند به پایگاه داده متصل شود و با خطای “عدم دسترسی به سرور” مواجه خواهید شد. این مسئله به ویژه زمانی که سرور برنامه و سرور پایگاه داده بر روی دو ماشین مجزا نصب شدهاند، بیشتر خود را نشان میدهد .
برای رفع این مشکل، باید بر روی سرور پایگاه داده، وارد تنظیمات فایروال ویندوز با سطح دسترسی مدیریت شوید. سپس یک قانون ورودی (Inbound Rule) جدید برای پروتکل TCP و پورت مشخص ۱۴۳۳ (یا پورتی که اسکیوال روی آن تنظیم شده) ایجاد کنید. این قانون باید به ترافیک ورودی از سوی سرور برنامه داینامیکس اجازه عبور دهد. علاوه بر این، اگر از فایروالهای سختافزاری یا نرمافزاری دیگری در شبکه استفاده میشود، باید تنظیمات مشابهی نیز روی آنها اعمال گردد.
حتی اگر فایروال به درستی پیکربندی شده باشد، ممکن است خود اسکیوال سرور برای پذیرش اتصالات از راه دور تنظیم نشده باشد. نصب پیشفرض اسکیوال سرور ممکن است پروتکل TCP/IP را غیرفعال کرده باشد. از آنجایی که داینامیکس ۳۶۵ برای برقراری ارتباط از طریق شبکه به این پروتکل نیاز دارد، غیرفعال بودن آن باعث شکست اتصال میشود. همچنین، باید اطمینان حاصل کرد که سرویس “SQL Server Browser” در حال اجرا باشد تا به کلاینتها در یافتن نمونه (Instance) صحیح اسکیوال کمک کند .
برای بررسی و رفع این موضوع، باید برنامه “SQL Server Configuration Manager” را بر روی سرور پایگاه داده اجرا کنید. در این برنامه، به بخش “پیکربندی شبکه اسکیوال” (SQL Server Network Configuration) رفته و پروتکل TCP/IP را برای نمونه مورد نظر خود پیدا کنید. بر روی آن راست کلیک کرده و گزینه “فعال” (Enable) را انتخاب کنید. پس از فعالسازی، برای اعمال تغییرات، حتماً سرویس اسکیوال سرور را یک بار متوقف و مجدداً راهاندازی (Restart) نمایید.
اتصال به پایگاه داده نیازمند یک حساب کاربری معتبر با مجوزهای لازم است. در حین نصب داینامیکس، شما باید اطلاعات یک حساب کاربری اسکیوال را وارد کنید. اگر این حساب کاربری وجود نداشته باشد، رمز عبور آن نادرست باشد، یا مجوز لاگین به پایگاه داده اصلی (master) یا پایگاه داده مربوط به داینامیکس را نداشته باشد، فرآیند نصب با خطای “Login failed for user” متوقف میشود. این مشکل میتواند به دلیل منقضی شدن رمز عبور، قفل شدن حساب یا تغییر مجوزها پس از نصب نیز رخ دهد .
برای عیبیابی این مورد، با یک حساب مدیریتی به SQL Server Management Studio (SSMS) متصل شوید. ابتدا اطمینان حاصل کنید که حساب کاربری مشخص شده وجود دارد و رمز عبور آن صحیح است. در خصوصیات کاربر، به برگه “Server Roles” رفته و مطمئن شوید که نقشهای لازم (حداقل نقش “public” و معمولاً “dbcreator” و “securityadmin” برای نصب) به او اعطا شده است. همچنین، در برگه “User Mapping” بررسی کنید که کاربر به پایگاه داده داینامیکس نگاشت (Mapping) شده باشد.
در برخی موارد، به خصوص پس از نصب و در حین کار عادی با سیستم، ممکن است خطاهای اتصال به پایگاه داده به صورت موقتی رخ دهند. این خطاها که با عناوینی مانند “TransientSqlConnectionError” شناخته میشوند، میتوانند ناشی از راهاندازی مجدد سرور پایگاه داده، یک خطای گذرای شبکه، یا اعمال وصلههای امنیتی باشند. در این حالت، اتصال برای چند لحظه قطع و سپس برقرار میشود. اگر برنامه در آن لحظه در حال انجام یک تراکنش باشد، ممکن است با خطا مواجه شده و فرآیند متوقف شود .
در نسخههای جدید داینامیکس ۳۶۵، مکانیزمهایی برای مدیریت این خطاهای گذرا در نظر گرفته شده است. برای مثال، در برنامهنویسی سمت سرور (X++)، توسعهدهندگان میتوانند با پیادهسازی واسط “BatchRetryable” به سیستم بگویند که در صورت بروز چنین خطایی، عملیات را مجدداً امتحان کند. این کار به طور خودکار باعث میشود تا بسیاری از کارهای گروهی (Batch Jobs) که به دلیل این قطعیهای کوتاه مدت با شکست مواجه میشوند، دوباره اجرا شده و بدون دخالت مدیر سیستم به اتمام برسند .
یکی از خطاهای بسیار رایج در هنگام نصب و پیکربندی داینامیکس ۳۶۵ به خصوص در نسخههای داخلی (On-Premise)، به سرویسهای گزارشگیری اسکیوال (SSRS) مربوط میشود. این خطا اغلب به صورت “عدم تطابق نسخه اسمبلی” برای فایلی به نام “Newtonsoft.Json” یا خطاهای مشابه ظاهر میشود. علت اصلی این است که نسخه نصب شده سرویسهای گزارشگیری با نسخهای که داینامیکس ۳۶۵ انتظار دارد، همخوانی کامل ندارد. داینامیکس برای برقراری ارتباط و ارسال گزارشها به این سرویس وابسته است و هرگونه عدم تطابق در مؤلفههای اصلی، باعث قطع این ارتباط میشود .
راهکار اصلی این مشکل، تطبیق دادن نسخه مؤلفهها است. در بسیاری از موارد، راهحل جایگزین کردن فایل کتابخانه با نسخه صحیح در پوشه نصب داینامیکس است. برای مثال، اگر خطا به فایل “Newtonsoft.Json” اشاره دارد، باید فایل با نسخه صحیح (مثلاً نسخه ۱۱) را از یک منبع معتبر تهیه کرده و آن را در پوشه “Tools” در محل نصب داینامیکس کپی کرده و فایل قدیمی را با آن جایگزین کنید. گاهی اوقات نیز باید این کار را در پوشههای مربوط به سرویسهای گزارشگیری روی سرور گزارش انجام داد .
پس از نصب موفق، ممکن است کاربران هنگام تلاش برای مشاهده یا اجرای یک گزارش با خطای “دسترسی رد شد” (rsAccessDenied) مواجه شوند. این خطا نشان میدهد که حساب کاربری جاری یا حساب کاربری که برنامه با آن در حال اجراست، مجوز کافی برای انجام عملیات مورد نظر روی سرور گزارشگیری را ندارد. سرویسهای گزارشگیری اسکیوال دارای سیستم امنیتی و مجوزدهی خاص خود هستند و کاربران برای دسترسی به گزارشها، پوشهها و منابع داده باید در نقشهای مناسب تعریف شده باشند. این مسئله به ویژه در نصبهای جدید که فقط مدیران محلی به سرور گزارش دسترسی دارند، بیشتر دیده میشود .
برای رفع این مشکل، مدیر سیستم باید وارد وبپورتال سرویسهای گزارشگیری شود و با استفاده از ابزارهای مدیریت امنیت، نقشهای مناسب را به کاربران یا گروههای مورد نظر اختصاص دهد. به طور معمول، باید کاربران را به نقشهایی مانند “مرورگر” (Browser) برای مشاهده گزارشها یا “مدیر محتوا” (Content Manager) برای مدیریت آنها اضافه کرد. همچنین باید اطمینان حاصل شود که حساب سرویس داینامیکس نیز مجوزهای لازم برای انتشار و اجرای گزارشها را در سطح سرور گزارشگیری دارا میباشد.
نوع دیگری از خطاهای مربوط به گزارشگیری، زمانی رخ میدهد که یک گزارش فراخوانی میشود اما با پیامی مبنی بر عدم وجود یک موجودیت یا جدول خاص در پایگاه داده مواجه میشویم. این مشکل معمولاً در گزارشهایی که با استفاده از زبان جستجوی FetchXML ساخته شدهاند، دیده میشود. وقتی یک گزارش از یک موجودیت (که در واقع همان یک جدول در پایگاه داده است) داده میخواهد، اگر آن موجودیت به هر دلیلی از سیستم حذف شده باشد، نام آن تغییر کرده باشد یا در محیط مقصد (مثلاً محیط عملیاتی) با همان نام دقیق وجود نداشته باشد، موتور گزارشگیری نمیتواند کوئری را اجرا کند و خطای “موجودیت یافت نشد” را برمیگرداند .
برای عیبیابی این خطا، ابتدا باید نام دقیق موجودیتی را که گزارش به دنبال آن است، از متن خطا یادداشت کنید. سپس در محیط داینامیکس خود، به بخش سفارشیسازی سیستم رفته و لیست موجودیتها را جستجو کنید تا مطمئن شوید موجودیتی با آن نام وجود دارد. اگر نام آن تغییر کرده باشد، باید فایل اصلی گزارش (با پسوند RDL) را ویرایش کرده و در بخش کوئری FetchXML آن، نام موجودیت قدیمی را با نام جدید جایگزین کنید. سپس باید گزارش اصلاح شده را مجدداً در سیستم آپلود کنید .
گاهی اوقات در حین نصب یا پیکربندی سرویسهای گزارشگیری، خطایی با عنوان “عدم امکان پشتیبانگیری از کلید رمزنگاری” یا “RPCServerNotListening” رخ میدهد. سرویسهای گزارشگیری برای امنیت اطلاعات حساس مانند رشتههای اتصال به پایگاه داده، از یک کلید متقارن استفاده میکنند. اگر به هر دلیلی در دسترسی به این کلید یا برقراری ارتباط با نمونه (Instance) صحیح سرویس گزارشگیری مشکل پیش بیاید، نصب یا پیکربندی با شکست مواجه میشود. این مشکل میتواند ناشی از اجرا نشدن سرویس، مجوزهای ناکافی حساب سرویس بر روی فایلهای کلید، یا تلاش برای پیکربندی یک نمونه اشتباه باشد .
در این شرایط، ابتدا باید از اجرا و در حال اجرا بودن سرویس “SQL Server Reporting Services” در بخش Services ویندوز اطمینان حاصل کنید. سپس، با استفاده از ابزار “Reporting Services Configuration Manager”، به نمونه مورد نظر متصل شده و در بخش “کلید متقارن” (Symmetric Key) میتوانید وضعیت کلید را بررسی کرده و در صورت نیاز، آن را بازیابی یا دوباره ایجاد کنید. همچنین، اطمینان از این که حساب سرویس گزارشگیری دارای دسترسی کامل به پوشه نصب و پوشه مربوط به کلیدها است، میتواند این گونه خطاها را برطرف نماید.
یکی از تصمیمات سرنوشتساز در هنگام نصب و راهاندازی داینامیکس ۳۶۵، انتخاب حساب کاربری مناسب برای اجرای سرویسهای گوناگون آن است. این سرویسها شامل سرویس وب (وبسایت اصلی)، سرویس ناهمگام (Batch jobs)، سرویس بازیابی فایلها و سایر مؤلفهها میشوند. هر یک از این سرویسها برای تعامل با سایر بخشهای سیستم، مانند پایگاه داده یا اشتراکهای فایل شبکه، نیاز به یک هویت دارند. اگر حساب انتخاب شده برای یک سرویس، دسترسی کافی به منابع مورد نیازش را نداشته باشد، آن سرویس یا به کلی از کار خواهد افتاد و یا با خطاهای عجیبی مواجه میشود. برای مثال، اگر حساب سرویس ناهمگام نتواند به پایگاه داده لاگین کند، تمام فرآیندهای خودکاری که قرار است در پشت صحنه اجرا شوند، مانند گردش کارها یا بهروزرسانیهای قیمت، با شکست مواجه خواهند شد.
برای جلوگیری از این گونه مشکلات، بهتر است از همان ابتدا و طبق مستندات مایکروسافت، برای هر سرویس یک حساب کاربری مجزا در نظر گرفته شود و مجوزهای لازم به صورت دقیق به آنها اعطا گردد. استفاده از یک حساب واحد با دسترسیهای گسترده برای همه سرویسها، اگرچه سادهتر به نظر میرسد، اما از نظر امنیتی بسیار آسیبپذیر است و ممکن است بعدها منجر به بروز خطاهای پیشبینی نشده شود. بهترین رویکرد، تعیین حسابهایی با حداقل مجوزهای لازم (Principle of Least Privilege) و مستندسازی دقیق آنها برای مراجعات بعدی است.
در بسیاری از سازمانها، به ویژه سازمانهای بزرگ، سرورهای مختلف در دامنههای گوناگون یا حتی در محیطهای کاری مستقل از دامنه (Workgroup) قرار دارند. برای مثال، ممکن است سرور برنامه داینامیکس در یک دامنه و سرور پایگاه داده در دامنه دیگر قرار گرفته باشد. در چنین سناریوهایی، برقراری ارتباط بین سرویسها با چالش جدی “عدم اعتماد” مواجه میشود. وقتی یک سرویس در یک دامنه تلاش میکند با استفاده از یک حساب دامنهای به منبعی در دامنه دیگر دسترسی پیدا کند، اگر رابطه اعتماد (Trust Relationship) بین دو دامنه به درستی برقرار نشده باشد، سرویس مقصد هویت سرویس درخواستدهنده را تأیید نمیکند و دسترسی را با خطای “عدم دسترسی” یا “عدم اعتبارسنجی” رد میکند.
برای رفع این معضل، مدیران شبکه باید ابتدا از وجود رابطه اعتماد مناسب و دوطرفه بین دامنهها اطمینان حاصل کنند. در صورتی که امکان برقراری این رابطه وجود نداشته باشد، باید از روشهای جایگزین مانند استفاده از حسابهای محلی با رمز عبور یکسان بر روی هر دو سرور استفاده کرد. البته این روش امنیت کمتری دارد و مدیریت آن دشوارتر است. راهحل دیگر، استفاده از قابلیت “تأیید هویت کربروس” (Kerberos) و تنظیم صحیح “نام اصلی سرویس” (SPN) برای حسابهای ماشین و سرویسها است که البته نیازمند تخصص فنی بالایی در زمینه شبکه و ویندوز سرور میباشد.
وقتی داینامیکس ۳۶۵ در یک وب فارم (Web Farm) با چندین سرور وب نصب میشود، بسیاری از فایلهای مشترک مانند فایلهای ضمیمه شده به فرمها، قالبهای گزارش و فایلهای موقت باید در یک مکان مرکزی و مشترک بر روی شبکه ذخیره شوند. این مکان معمولاً یک اشتراک فایل (File Share) است. تمام سرورهای وب موجود در فارم باید به این اشتراک فایل دسترسی داشته باشند و بتوانند در آن بخوانند و بنویسند. مشکل زمانی ایجاد میشود که حساب ماشین هر سرور وب (به شکل DOMAIN\COMPUTERNAME$) یا حساب سرویس وب، مجوزهای لازم را بر روی این اشتراک فایل و پوشه مربوط به آن نداشته باشد. در این صورت، عملیاتی مانند آپلود یک فایل ضمیمه یا تولید یک گزارش با خطای “عدم دسترسی به مسیر شبکه” مواجه میشود.
برای حل این مشکل، باید بر روی سروری که اشتراک فایل روی آن قرار دارد، وارد خصوصیات پوشه مشترک شده و در برگه “اشتراکگذاری” (Sharing) و همچنین برگه “امنیت” (Security)، دسترسیهای لازم را به حسابهای مربوطه اعطا کنید. معمولاً لازم است دسترسی “خواندن/نوشتن” (Read/Write) به حساب ماشین تمام سرورهای وب عضو فارم داده شود. توجه داشته باشید که مجوزهای سطح اشتراک (Share Permissions) و سطح فایلسیستم (NTFS Permissions) هر دو باید به درستی تنظیم شوند و در نهایت، دسترسی مؤثر، ترکیبی از این دو خواهد بود.
حسابهای کاربری، چه از نوع محلی و چه از نوع دامنهای، معمولاً دارای تاریخ انقضا هستند و یا در سازمانها ملزم به تغییر دورهای رمز عبور میباشند. یکی از مشکلات رایجی که پس از مدتی از نصب پایدار داینامیکس رخ میدهد، از کار افتادن ناگهانی سرویسها به دلیل منقضی شدن یا تغییر رمز عبور حساب سرویس است. وقتی رمز عبور حساب کاربری که یک سرویس ویندوز (مانند سرویس ناهمگام داینامیکس) با آن اجرا میشود، در ویندوز بهروزرسانی نشود، آن سرویس قادر به شروع مجدد یا ادامه کار نخواهد بود و متوقف میشود. این مسئله به خصوص برای سرویسهایی که به ندرت راهاندازی مجدد میشوند، میتواند مدتها پنهان بماند و سپس در زمان بحرانی خود را نشان دهد.
برای پیشگیری از این مشکل، باید یک فرآیند مدیریتی دقیق برای پیگیری تاریخ انقضای حسابهای سرویس تعریف شود. بهتر است حسابهای سرویس از نوع “حسابهای مدیریت شده گروهی سرویس” (gMSA) انتخاب شوند که مدیریت رمز عبور آنها به طور خودکار توسط ویندوز انجام میشود. اگر از حسابهای معمولی استفاده میشود، لازم است پس از هر بار تغییر رمز عبور در سطح دامنه، بلافاصله وارد بخش Services ویندوز شده و رمز عبور سرویسهای مرتبط با داینامیکس را نیز بهروزرسانی کرد و سپس سرویس را مجدداً راهاندازی نمود.
همچنین بخوانید: اتوماسیون فرآیندها با گردش کار در داینامیکس 365
داینامیکس ۳۶۵ برای اجرا به مجموعهای از نرمافزارها و مؤلفههای کمکی نیاز دارد که به آنها پیشنیاز میگویند. از جمله مهمترین این پیشنیازها میتوان به نسخههای خاصی از چارچوب داتنت (NET Framework.)، مؤلفههای سرویسگر داده (Data Connectors)، کتابخانههای بومی اسکیوال (SQL Native Client) و ابزارهای مدیریتی اشاره کرد. یکی از خطاهای بسیار رایج در شروع نصب، به ویژه بر روی سرورهای تازهسازی شده که به روز نیستند، این است که این پیشنیازها یا نصب نشدهاند و یا نسخه آنها با نسخه مورد نیاز داینامیکس مطابقت ندارد. در این صورت، نصبکننده داینامیکس در همان مراحل اولیه، خطا داده و از ادامه کار جلوگیری میکند.
بهترین راه برای مواجه نشدن با این مشکل، استفاده از قابلیت “بررسی پیشنیازها” در خود نصبکننده داینامیکس است. قبل از شروع نصب اصلی، این گزینه را اجرا کنید تا سیستم به طور خودکار کمبودها را شناسایی و گزارش دهد. در نسخههای جدید، نصبکننده اغلب قادر است پیشنیازهای missing را به صورت خودکار از اینترنت دانلود و نصب کند، اما در محیطهای ایزوله یا با دسترسی محدود اینترنتی، باید به صورت دستی نسبت به تهیه و نصب آنها اقدام نمایید. همچنین، مطالعه دقیق مستندات مربوط به سختافزار و نرمافزار مورد نیاز برای نسخه خاص داینامیکس، قبل از شروع کار، بسیار حائز اهمیت است.
در حین نصب، فرآیند نصب اقدام به ایجاد یک ریشه مجازی در آیآیاس میکند که وبسایت داینامیکس از طریق آن در دسترس خواهد بود. گاهی اوقات، به دلیل وجود یک وبسایت پیشفرض با پیکربندی خاص، یا به دلیل مجوزهای ناکافی کاربری که نصب را اجرا میکند، فرآیند ایجاد یا پیکربندی این ریشه مجازی با خطا مواجه میشود. این خطا میتواند به شکل “عدم دسترسی به مسیر فیزیکی” یا “خطا در ایجاد برنامه” در آیآیاس بروز کند. در این حالت، نصب ظاهراً تمام میشود، اما وبسایت کار نمیکند.
برای رفع این مشکل، ابتدا اطمینان حاصل کنید که کاربری که با آن وارد ویندوز شدهاید و در حال اجرای نصبکننده هستید، دارای مجوزهای مدیر (Administrator) بر روی سرور باشد. در مرحله بعد، میتوانید به طور دستی وبسایت و استخر برنامه مربوطه را در آیآیاس بررسی کنید. گاهی اوقات سادهترین راه، حذف ریشه مجازی ایجاد شده معیوب و ایجاد دستی یک ریشه مجازی جدید با اشاره به همان پوشه فیزیکی است. همچنین، بررسی کنید که پورت تعیین شده برای وبسایت (مثلاً ۸۰ یا ۴۴۳) توسط برنامه دیگری اشغال نشده باشد.
یکی از رایجترین مشکلات در نصب نرمافزارهای پیچیده، تداخل با نسخههای قدیمیتر یا باقیماندههای یک نصب قبلی و ناقص است. اگر روی سرور، نسخه دیگری از داینامیکس (مثلاً نسخه ۴ یا ۲۰۱۲) نصب بوده و به طور کامل پاکسازی نشده باشد، نصب نسخه جدیدتر ممکن است با خطا مواجه شود. فایلهای باقیمانده در رجیستری ویندوز، مؤلفههای نیمهکاره در آیآیاس یا پایگاه دادههای قدیمی میتوانند باعث سردرگمی نصبکننده جدید شوند و فرآیند را با شکست مواجه کنند. همچنین، نصبهایی که به دلیل قطع برق یا خطای دیگر در میانه راه متوقف شدهاند، ردپایی از خود بر جای میگذارند که مانع نصب مجدد و تمیز میشوند.
در این موارد، بهترین راهکار انجام یک پاکسازی کامل و دقیق است. این کار میتواند شامل حذف دستی پوشههای باقیمانده از نصب قبلی، پاکسازی رجیستری با دقت بالا، حذف استخرهای برنامه و وبسایتهای مرتبط از آیآیاس و حذف پایگاههای داده مربوطه از اسکیوال سرور باشد. استفاده از ابزارهای پاکسازی که گاهی توسط مایکروسافت برای نسخههای خاص منتشر میشود نیز میتواند مفید باشد. در نهایت، ریاستارت کردن سرور و سپس اجرای مجدد نصبکننده تمیز، شانس موفقیت را افزایش میدهد.
داینامیکس ۳۶۵ برای ارائه قابلیت جستجوی پیشرفته در فرمها و پنجرهها، به شدت به سرویس جستجوی تمام متنی اسکیوال سرور وابسته است. اگر این مؤلفه در هنگام نصب اسکیوال سرور انتخاب و نصب نشده باشد، یا پس از نصب به درستی پیکربندی نگردد، داینامیکس یا به کلی از کار میافتد و یا قابلیت جستجوی آن با خطا مواجه خواهد شد. این مشکل معمولاً با پیغامهایی مبنی بر عدم وجود قابلیت “جستجوی تمام متنی” برای پایگاه داده همراه است. بسیاری از کاربران ممکن است در مراحل اولیه نصب متوجه این کمبود نشوند، اما به محض استفاده از قابلیت جستجو در سیستم، با خطا روبهرو میشوند.
اگر در حین نصب داینامیکس با چنین خطایی مواجه شدید، باید به سرور پایگاه داده مراجعه کرده و این قابلیت را نصب کنید. برای این کار، میتوانید نصبکننده اسکیوال سرور را مجدداً اجرا کرده و در بخش “افزودن مؤلفه به نصب موجود” (Add features to an existing instance)، گزینه “جستجوی تمام متنی” (Full-Text and Semantic Extractions for Search) را انتخاب و نصب کنید. پس از نصب این مؤلفه، ممکن است نیاز باشد تا کاتالوگهای جستجوی تمام متنی برای پایگاههای داده داینامیکس نیز ایجاد یا تعمیر شوند که این کار معمولاً توسط اسکریپتهای مخصوص انجام میشود.
این خطا تقریباً همیشه به دلیل مجوزهای نادرست حساب کاربری که سرویس اپلیکیشن پول (Application Pool) در آیآیاس با آن اجرا میشود، رخ میدهد. باید اطمینان حاصل کنید که این حساب کاربری دارای دسترسیهای لازم به پوشههای فیزیکی فایلهای برنامه و همچنین مجورهای لازم در خود آیآیاس است. گاهی اوقات نیز اجرا نشدن آیآیاس با دسترسی مدیر (Run as Administrator) میتواند باعث بروز این مشکل شود.
این مشکل میتواند چند دلیل داشته باشد. اولین و رایجترین دلیل، روشن بودن فایروال ویندوز بر روی سرور پایگاه داده و بسته بودن پورت ارتباطی اسکیوال (معمولاً ۱۴۳۳) است. دلیل دیگر میتواند غیرفعال بودن پروتکل TCP/IP در SQL Server Configuration Manager باشد. همچنین باید مطمئن شوید که حساب کاربری وارد شده در مراحل نصب، مجوز لاگین به اسکیوال سرور را داشته باشد .
این خطا یک مشکل رایج در بهروزرسانیها یا نصبهای جدید است، به خصوص زمانی که نسخه سرویسهای گزارشگیری اسکیوال (SSRS) با نسخهای که داینامیکس انتظار دارد، هماهنگ نباشد. فایل Newtonsoft.Json یک کتابخانه برنامهنویسی است و نسخههای مختلف آن میتوانند با هم تضاد داشته باشند. راهحل معمول، جایگزین کردن فایل با نسخه صحیح در پوشه نصب داینامیکس (معمولاً پوشه Tools) است .
این خطا نشان میدهد که کوئری پشت آن گزارش (که معمولاً از نوع FetchXML است) به یک جدول یا موجودیت (Entity) در پایگاه داده ارجاع میدهد که دیگر وجود ندارد یا نام آن تغییر کرده است. این اتفاق ممکن است پس از اعمال یک بهروزرسانی یا انتقال راهحل (Solution) از یک محیط به محیط دیگر رخ دهد. برای رفع آن، باید فایل گزارش را ویرایش کرده و نام موجودیت را در کوئری آن تصحیح کنید .
گاهی اوقات به دلیل محدودیتهای اینترنتی یا مشکلات سرورهای مایکروسافت، دانلود خودکار مؤلفههای پیشنیاز (مانند SQL Native Client) با شکست مواجه میشود. در این موارد، میتوانید به طور مستقیم از وبسایت مایکروسافت لینکهای دانلود آن مؤلفهها را پیدا کرده و به صورت دستی دانلود و نصب کنید. پس از نصب دستی، نصبکننده اصلی داینامیکس میتواند مراحل بعدی را ادامه دهد .
در این مطلب تلاش کردیم تا سه دسته از مهمترین و پرتکرارترین مشکلاتی که هنگام نصب و راهاندازی داینامیکس ۳۶۵ پیش میآید را بررسی کنیم. همانطور که دیدیم، بسیاری از این خطاها ریشه در پیکربندی نادرست سرویسهای زیرساختی ویندوز، به خصوص آیآیاس و اسکیوال سرور دارند.
توجه به داشتن مجوزهای دسترسی کافی برای حسابهای سرویس، پیکربندی صحیح فایروال برای برقراری ارتباطات شبکه و اطمینان از تطابق نسخه مؤلفهها، به ویژه در مورد سرویسهای گزارشگیری، از جمله اقدامات کلیدی برای جلوگیری از بروز این خطاها هستند. به خاطر داشته باشید که نصب داینامیکس ۳۶۵ یک فرآیند گامبهگام و دقیق است و صرف زمان برای بررسی پیشنیازها و پیکربندی درست اولیه، میتواند از بروز ساعاتها مشکلیابی در مراحل بعدی جلوگیری کند. امیدواریم این راهنما بتواند در مواجهه با این چالشها، مسیر را برای شما روشنتر کرده باشد.
برای مطالعه دقیقتر و دریافت آخرین بهروزرسانیها در مورد الزامات سختافزاری و نرمافزاری مورد نیاز برای نصب نسخههای مختلف داینامیکس ۳۶۵، وبسایت رسمی مایکروسافت منبعی بسیار معتبر و کامل است. شما را دعوت میکنم تا با مراجعه به این لینک، از آخرین راهنماها و مستندات فنی مایکروسافت در این زمینه بهرهمند شوید. (https://learn.microsoft.com/en-us/dynamics365/)
در خبرنامه ما مشترک شوید و آخرین اخبار و به روزرسانی های را در صندوق ورودی خود مستقیماً دریافت کنید.

دیدگاه بگذارید