بررسی سلامت و عملکرد سرور
پس از استقرار SQL Server در محیط عملیاتی، نظارت مداوم بر عملکرد آن برای جلوگیری از افت سرعت یا از کار افتادن سرویس ضروری است. SQL Server چند ابزار و View سیستمی قدرتمند برای این منظور فراهم میکند.
برای مشاهدهی کوئریها و sessionهای فعال در همین لحظه:
SELECT session_id, status, command, cpu_time, total_elapsed_time
FROM sys.dm_exec_requests
WHERE session_id > 50;
برای شناسایی کندترین کوئریها بر اساس زمان اجرای تجمعی، میتوان از View آماری زیر استفاده کرد:
SELECT TOP 10
qs.total_worker_time / qs.execution_count AS avg_cpu_time,
qs.execution_count,
st.text AS query_text
FROM sys.dm_exec_query_stats qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) st
ORDER BY avg_cpu_time DESC;
ابزار گرافیکی Activity Monitor در SSMS نمایی سریع از وضعیت پردازنده، دیسک و کوئریهای پرهزینه ارائه میدهد و برای بررسی سریع در لحظهی بحران بسیار مفید است. برای تحلیل عمیقتر مشکلات کارایی در طول زمان، ابزار Extended Events جایگزین مدرن و سبکتر SQL Profiler قدیمی است و امکان ثبت رویدادهای دقیق بدون افت محسوس کارایی سرور را فراهم میکند. رصد منظم فضای دیسک، رشد فایلهای Log و تعداد Deadlockهای رخداده نیز بخش مهمی از نگهداری پیشگیرانهی یک سرور SQL Server در محیط تولید است.