SQL Server Activity Monitor-Activity Monitor SSMS-SQL Server Expensive Queries-SQL Server Performance Monitoring-SQL Server Blocking Sessions-Activity Monitor در SQL Server-مانیتورینگ لحظه‌ای SQL Server-بررسی کوئری‌های سنگین در SQL Server-ابزار Activity Monitor در SSMS-شناسایی Sessionهای قفل‌کننده در SQL Server

یکی از اولین ابزارهایی که هر DBA یا برنامه‌نویس SQL Server با آن سروکار پیدا می‌کند، Activity Monitor است. این ابزار داخلی که در محیط SQL Server Management Studio (SSMS) قرار دارد، به شما این امکان را می‌دهد در لحظه عملکرد دیتابیس را پایش کرده و مشکلات را شناسایی کنید.

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

Activity Monitor چیست؟

Activity Monitor ابزاری گرافیکی در SSMS است که برای مشاهده وضعیت لحظه‌ای SQL Server به کار می‌رود.
با استفاده از این ابزار می‌توانید:

  • میزان مصرف CPU و I/O را ببینید.
  • کوئری‌های کند و قفل‌شده را شناسایی کنید.
  • Sessionها و Connectionهای فعال را بررسی کنید.

نحوه باز کردن Activity Monitor

  • در SSMS روی Instance کلیک راست کنید → گزینه Activity Monitor.
  • یا با شورتکات Ctrl + Alt + A.

اجزای Activity Monitor

۱. Overview (نمای کلی)

نمای کلی از وضعیت لحظه‌ای سرور:

  • % Processor Time → درصد استفاده از CPU.
  • Waiting Tasks → تعداد Sessionهایی که در حال انتظار (Wait State) هستند.
  • Database I/O → میزان خواندن و نوشتن دیسک.
  • Batch Requests/sec → تعداد کوئری‌هایی که در هر ثانیه اجرا می‌شوند.

۲. Processes (فرآیندها)

  • لیست تمام Sessionها و Connectionهای فعال.
  • اطلاعات مهم:
    • Session ID (SPID)
    • Login Name (کاربر متصل)
    • Application (نام برنامه متصل شده)
    • Status (Running, Sleeping, Suspended)
    • Wait Type (نوع انتظار، مثل PAGEIOLATCH، LCK_M_X)

کاربرد:

  • شناسایی Sessionهایی که قفل ایجاد کرده‌اند.
  • Kill کردن Sessionهای مشکوک با دستور:
KILL <SPID>;

۳. Resource Waits (انتظار منابع)

  • نشان می‌دهد Sessionها بیشتر در کدام منابع در انتظار هستند.
  • دسته‌بندی اصلی Wait Types:
    • Locks → انتظار برای قفل روی داده‌ها.
    • Latches → انتظار برای دسترسی به صفحات حافظه.
    • I/O → انتظار برای عملیات دیسک.
    • CPU → کمبود منابع پردازشی.

۴. Data File I/O (ورودی/خروجی فایل داده)

  • نشان‌دهنده میزان Read/Write روی فایل‌های دیتابیس.
  • امکان شناسایی Bottleneck در Disk I/O.

۵. Recent Expensive Queries (کوئری‌های پرهزینه اخیر)

  • لیست کوئری‌هایی که بیشترین مصرف منابع (CPU، Logical Reads، Duration) داشته‌اند.
  • ستون‌های مهم:
    • Total CPU Time
    • Execution Count
    • Average Duration
    • Query Text

کاربرد:

  • شناسایی کوئری‌های کند برای Query Tuning.
  • یافتن نیاز به Index یا تغییر در Query Plan.

۶. Active Expensive Queries (کوئری‌های پرهزینه فعال)

  • شبیه بخش قبل اما فقط کوئری‌هایی که همین حالا در حال اجرا هستند.
  • بسیار مفید برای Real-Time Troubleshooting.

کاربردهای عملی Activity Monitor

  1. شناسایی Sessionهای قفل‌کننده (Blocking Sessions)
    • در بخش Processes ستون Blocked By را بررسی کنید.
  2. یافتن کوئری‌های سنگین
    • در بخش Recent Expensive Queries.
  3. بررسی مشکلات Disk I/O
    • بخش Data File I/O.
  4. مانیتورینگ لحظه‌ای Performance
    • از Overview برای مشاهده وضعیت کلی استفاده کنید.

محدودیت‌های Activity Monitor

  • فقط داده‌های لحظه‌ای (Real-time) را نمایش می‌دهد.
  • قابلیت ذخیره‌سازی گزارش ندارد.
  • برای مانیتورینگ بلندمدت باید از ابزارهایی مثل Extended Events، DMVs یاZabbix/Redgate استفاده شود.
  • سربار اندکی روی سیستم ایجاد می‌کند (بهتر است در محیط Production با احتیاط استفاده شود).

جایگزین‌ها و ابزارهای مکمل

  • Dynamic Management Views (DMVs) برای گزارش‌گیری دقیق‌تر.
  • Extended Events برای مانیتورینگ سبک‌تر.
  • SQL Server Profiler (قدیمی‌تر).
  • ابزارهای خارجی مثل Redgate SQL Monitor یا SolarWinds DPA.

نتیجه‌گیری

Activity Monitor ابزاری سریع و کاربردی برای عیب‌یابی لحظه‌ای SQL Server است. با وجود محدودیت‌ها، همچنان یکی از بهترین روش‌ها برای شناسایی کوئری‌های پر هزینه، مشکلات I/O و Sessionهای قفل‌شده محسوب می‌شود.

سوالات متداول (FAQ)

۱. آیا Activity Monitor باعث کندی SQL Server می‌شود؟

  • کمی سربار دارد، اما معمولاً ناچیز است. در سیستم‌های حساس توصیه می‌شود از Extended Events استفاده شود.

۲. تفاوت Activity Monitor با Profiler چیست؟

  • Activity Monitor برای مانیتورینگ لحظه‌ای و سریع است؛ Profiler برای Trace کردن دقیق کوئری‌ها.

۳. آیا می‌توان تاریخچه Sessionها را در Activity Monitor دید؟

  • خیر، فقط وضعیت لحظه‌ای را نمایش می‌دهد.

۴. بهترین جایگزین Activity Monitor چیست؟

  • برای مانیتورینگ دقیق‌تر و ذخیره‌سازی داده‌ها → DMVs یا Extended Events.

۵. آیا همه نسخه‌های SQL Server Activity Monitor دارند؟

  • بله، اما ظاهر و امکانات آن ممکن است بین نسخه‌ها کمی متفاوت باشد.

اگر به دنبال مانیتورینگ حرفه‌ای SQL Server هستید، فقط به Activity Monitor اکتفا نکنید.
تیم توسعه فناوری اطلاعات لاندا با استفاده از DMVs، Extended Events و ابزارهای مانیتورینگ پیشرفته می‌تواند یک راهکار جامع برای پایش دیتابیس شما طراحی کند. همین امروز با لاندا تماس بگیرید و مانیتورینگ SQL Server خود را به سطح حرفه‌ای ارتقا دهید.

ارتباط و مشاوره

برای اطلاعات بیشتر و مشاوره می‌توانید از طریق زیر با ما در ارتباط باشید:

  • تماس  با شرکت لاندا برای مشاوره، اجرا و یا آموزش تخصصی.

نظری داده نشده

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *