راهنمای بهینه‌سازی عملکرد (Performance Guide) سرویس دسک پلاس

مدانت

فعال‌سازی حالت Snapshot در Microsoft SQL Server

مقدمه

در محیط‌های مبتنی بر Microsoft SQL Server، یکی از چالش‌های رایج که می‌تواند بر عملکرد سامانه‌های سازمانی تأثیر بگذارد، مسئله Locking و Blocking در سطح پایگاه داده است. هنگامی که چندین کاربر به‌صورت هم‌زمان در حال خواندن و نوشتن داده‌ها هستند، قفل‌های پایگاه داده می‌توانند باعث ایجاد تأخیر، کندی در پاسخ‌گویی و حتی اختلال در اجرای تراکنش‌ها شوند.

برای کاهش این مشکلات و بهبود کارایی ManageEngine ServiceDesk Plus MSP، می‌توان قابلیت Read Committed Snapshot Isolation (RCSI) را در SQL Server فعال کرد. این قابلیت با استفاده از مکانیزم نسخه‌برداری (Row Versioning)، خواندن داده‌ها را از عملیات نوشتن جدا می‌کند و از بروز تداخل میان تراکنش‌ها جلوگیری می‌کند.


Snapshot Mode چیست؟

با فعال‌سازی Read Committed Snapshot:

  • یک نسخه فقط‌خواندنی (Snapshot) از داده‌ها برای عملیات خواندن ایجاد می‌شود.
  • دستورات SELECT داده‌ها را از نسخه Snapshot می‌خوانند، نه از دیتابیس Live.
  • عملیات Insert/Update/Delete روی دیتابیس اصلی (Live Database) انجام می‌شود.
  • پس از تکمیل تراکنش، نسخه جدیدی برای خواندن ایجاد می‌گردد.

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


نحوه فعال‌سازی Read Committed Snapshot Isolation (RCSI)

⚠ این فرآیند نیازمند توقف سرویس و ایجاد Downtime است. پیشنهاد می‌شود در بازه زمانی کم‌ترافیک (مانند تعطیلات آخر هفته) انجام شود.

مراحل اجرا:

1️⃣ توقف سرویس

سرویس ServiceDesk Plus MSP را متوقف کنید.


2️⃣ ورود به SQL Server Management Studio

به SSMS متصل شوید.


3️⃣ آفلاین کردن دیتابیس

USE master;
GO
ALTER DATABASE <db_name> SET OFFLINE WITH ROLLBACK IMMEDIATE
GO

4️⃣ فعال‌سازی RCSI

ALTER DATABASE <db_name> SET READ_COMMITTED_SNAPSHOT ON WITH ROLLBACK IMMEDIATE
GO

5️⃣ آنلاین کردن مجدد دیتابیس

USE master;
GO
ALTER DATABASE <db_name> SET ONLINE
GO

6️⃣ بررسی فعال شدن RCSI

SELECT is_read_committed_snapshot_on 
FROM sys.databases 
WHERE [name] = '<db_name>'

اگر خروجی مقدار 1 باشد، RCSI با موفقیت فعال شده است.


7️⃣ راه‌اندازی مجدد سرویس

اکنون می‌توانید سرویس ServiceDesk Plus MSP را مجدداً اجرا کنید.


مزایای فعال‌سازی Snapshot Mode در MS SQL

مزیتتوضیح
حذف Blocking در خواندنعملیات SELECT دیگر باعث قفل شدن جداول نمی‌شود
افزایش هم‌زمانی کاربرانچندین کاربر می‌توانند بدون اختلال هم‌زمان کوئری اجرا کنند
کاهش Lock Contentionدرگیری قفل‌ها به حداقل می‌رسد
پایداری بیشتر در ساعات اوج مصرفکاهش تأخیر در محیط‌های پرترافیک
جداسازی فضای خواندن در tempdbداده‌های نسخه‌برداری‌شده در tempdb نگهداری می‌شوند

نکات فنی مهم

  • با فعال‌سازی RCSI، مصرف tempdb افزایش می‌یابد؛ بنابراین باید فضای کافی برای آن در نظر گرفته شود.
  • در سیستم‌های پرتراکنش، مانیتورینگ tempdb و I/O دیسک توصیه می‌شود.
  • این تنظیم تنها بر سطح Isolation پیش‌فرض (Read Committed) تأثیر می‌گذارد و سایر Isolation Levelها را تغییر نمی‌دهد.

جمع‌بندی

فعال‌سازی Read Committed Snapshot Isolation یکی از مؤثرترین روش‌ها برای کاهش مشکلات Locking در SQL Server و افزایش کارایی ServiceDesk Plus MSP است. این تنظیم به‌ویژه در محیط‌هایی با تعداد کاربران بالا یا حجم زیاد تراکنش‌ها توصیه می‌شود.


ادامه‌ مطلب در صفحه‌ بعدی...
مدانت
مدانت
شرکت‌ مدانت از برندهای محبوب فناوری‌ اطلاعات و ارتباطات در حوزه‌ی آموزش، پیاده‌سازی و عرضه ابزار ITIL، تجارت آنلاین، تحول دیجیتال و ارایه‌‌کننده‌ی محصولات مدیریتی تحت‌وب در ایران است. این مقاله‌ی آموزشی منحصراً مربوط به مدانت بوده و برای نخستین بار توسط این شرکت برای شما تولید و منتشر شده.
0 0 رای ها
امتیازدهی به مقاله
اشتراک در
اطلاع از
guest

حل معادله *

0 نظرات
قدیمی‌ترین
تازه‌ترین بیشترین رأی
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها
error: نیازی به کپی نیست همه چیز در دیدرس شماست
0
افکار شما را دوست داریم، لطفا نظر دهید.x