راهنمای جامع نماهای کاتالوگ Query Store در SQL Server
Query Store تاریخچه متن پرسوجوها، هویت منطقی Query، طرحهای اجرایی، آمار اجرا، انتظارها و تنظیمات مرتبط را درون پایگاه داده نگهداری میکند. نماهای کاتالوگ رابط T-SQL برای تبدیل این دادهها به گزارش عیبیابی، تحلیل تغییر طرح و پایش روند هستند.
این راهنما ساختار ۱۲ موضوع را بهصورت یک نقشه منسجم معرفی میکند. برای هر نما توضیح کوتاه، لینک مقاله مستقل، جدول مقایسه، مثال قابل اجرا، خروجی نمونه، نکات نسخه و مسیر پیشنهادی تحلیل ارائه شده است.
فهرست دسترسی سریع
Query Store چه مشکلی را حل میکند؟
در حافظه Plan Cache فقط وضعیت جاری یا نسبتاً کوتاهمدت دیده میشود و با Restart، فشار حافظه یا Recompile بخشی از شواهد از بین میرود. Query Store تاریخچه Query، Plan و Runtime را نگه میدارد تا بتوان تغییر عملکرد را در طول زمان بررسی کرد.
برای رسیدن از یک شکایت ساده مانند «گزارش فروش کند شده» به علت فنی، چند لایه باید کنار هم قرار گیرند: متن SQL، شناسه Query، طرحهای ممکن، آمار اجرای هر طرح در بازههای مختلف، انتظارها، تنظیمات زمینه و هرگونه Hint یا Feedback. هیچ نمای واحدی بهتنهایی پاسخ همه پرسشها را نمیدهد.
نکته مهم: در فهرست ورودی نام sys.query_store_options آمده است، اما نمای معتبر SQL Server برای تنظیمات پایگاه داده sys.database_query_store_options است. مقاله مستقل این مورد، تفاوت نام و روش صحیح را شفاف توضیح میدهد.
نقشه ارتباط نماهای اصلی
زنجیره معمول از sys.query_store_query_text آغاز میشود. sys.query_store_query هویت منطقی و context را میدهد، sys.query_store_plan طرحها را نگهداری میکند و sys.query_store_runtime_stats به همراه runtime_stats_interval رفتار زمانی را نشان میدهد. wait_stats علت انتظار را تکمیل میکند و نماهای hints، feedback و replicas قابلیتهای مدیریتی نسخههای جدید را پوشش میدهند.
این تصویر کلیدهای محوری و مسیر حرکت از متن Query تا تصمیم مدیریتی را نمایش میدهد.
جدول مقایسهای نماها
| نما یا موضوع | کاربرد اصلی | نسخه یا نکته مهم | لینک آموزش کامل |
|---|
| sys.query_store_query_text | متن T-SQL، شناسه متن، هندل عبارت و وضعیت متن محدود یا رمزگذاریشده را نگهداری میکند. | SQL Server 2016 و نسخههای بعدی | آموزش کامل |
| sys.query_store_query | برای هر پرسوجوی منطقی، ارتباط با متن، تنظیمات زمینه، شیء مبدأ، هش پرسوجو و آمار کامپایل را ارائه میکند. | SQL Server 2016 و نسخههای بعدی | آموزش کامل |
| sys.query_store_plan | طرح XML، هش طرح، نسخه موتور، سطح سازگاری، وضعیت اجبار طرح و دلایل شکست Plan Forcing را نمایش میدهد. | SQL Server 2016 و نسخههای بعدی؛ برخی ستونها در نسخههای جدید افزوده شدهاند | آموزش کامل |
| sys.query_store_runtime_stats | تعداد اجرا، زمان، CPU، خواندنهای منطقی و فیزیکی، حافظه، تعداد ردیف و شاخصهای حداقل، حداکثر و میانگین را در هر بازه نگهداری میکند. | SQL Server 2016 و نسخههای بعدی | آموزش کامل |
| sys.query_store_runtime_stats_interval | مرز شروع و پایان هر پنجره زمانی را برای اتصال درست آمار اجرا و انتظار فراهم میکند. | SQL Server 2016 و نسخههای بعدی | آموزش کامل |
| sys.query_store_wait_stats | انتظارها را بر اساس plan، بازه زمانی و دسته انتظار جمعآوری میکند تا علت کندی فراتر از duration دیده شود. | SQL Server 2017 و نسخههای بعدی | آموزش کامل |
| sys.query_store_options | نام رایج ولی نادرست sys.query_store_options را اصلاح میکند و روش استفاده از نمای واقعی sys.database_query_store_options را آموزش میدهد. | نمای صحیح sys.database_query_store_options از SQL Server 2016 در دسترس است | آموزش کامل |
| sys.query_context_settings | ترکیب تنظیماتی مانند زبان، date format و گزینههای SET را که هویت و معنای پرسوجو را تغییر میدهند ثبت میکند. | SQL Server 2016 و نسخههای بعدی | آموزش کامل |
| sys.query_store_query_hints | Hintهای ثبتشده بدون تغییر کد برنامه، شناسه Hint، query_id، متن OPTION و محدوده Replica را نشان میدهد. | SQL Server 2022 و نسخههای بعدی | آموزش کامل |
| sys.query_store_plan_feedback | اطلاعات بازخوردهای Memory Grant، CE، DOP و قابلیتهای جدیدتر بهینهسازی را برای planها نگهداری میکند. | SQL Server 2022 و نسخههای بعدی | آموزش کامل |
| sys.query_store_replicas | گروههای Replica، نقشها و نام Replicaهایی را نمایش میدهد که داده Query Store برای بارهای خواندنی ثانویه به آنها نسبت داده میشود. | SQL Server 2025 و نسخههای بعدی و Azure SQL Database | آموزش کامل |
| sys.query_store_plan_forcing_locations | ثبت میکند کدام query و plan در کدام replica_group به اجبار انتخاب شدهاند. | SQL Server 2025 و نسخههای بعدی و Azure SQL Database | آموزش کامل |
معرفی هر نما و مسیر مطالعه
1. sys.query_store_query_text
متن T-SQL، شناسه متن، هندل عبارت و وضعیت متن محدود یا رمزگذاریشده را نگهداری میکند. کاربرد شاخص آن، ردیابی متن دقیق یک گزارش کند و یافتن عبارتهایی که الگوی خاصی از نام جدول یا پارامتر را دارند. است. رابطه مهم: از طریق query_text_id به sys.query_store_query متصل میشود.
نکته نسخه و احتیاط: SQL Server 2016 و نسخههای بعدی؛ جستوجوی LIKE با الگوی آغازشونده با درصد روی متنهای فراوان میتواند پرهزینه باشد و متن ماژول رمزگذاریشده قابل بازیابی نیست.
مطالعه مقاله مستقل sys.query_store_query_text با ده مثال عملی
2. sys.query_store_query
برای هر پرسوجوی منطقی، ارتباط با متن، تنظیمات زمینه، شیء مبدأ، هش پرسوجو و آمار کامپایل را ارائه میکند. کاربرد شاخص آن، تشخیص پرسوجوهایی که بارها کامپایل شدهاند یا یک متن یکسان را تحت تنظیمات زمینه متفاوت اجرا کردهاند. است. رابطه مهم: به query_text، plan و query_context_settings پیوند میخورد.
نکته نسخه و احتیاط: SQL Server 2016 و نسخههای بعدی؛ یک متن SQL ممکن است چند query_id داشته باشد؛ زیرا context settings، batch یا شیء میزبان میتواند متفاوت باشد.
مطالعه مقاله مستقل sys.query_store_query با ده مثال عملی
3. sys.query_store_plan
طرح XML، هش طرح، نسخه موتور، سطح سازگاری، وضعیت اجبار طرح و دلایل شکست Plan Forcing را نمایش میدهد. کاربرد شاخص آن، مقایسه طرح سریع و طرح کند یک پرسوجو و بررسی اینکه آیا طرح اجباری هنوز معتبر است. است. رابطه مهم: با query_id به sys.query_store_query و با plan_id به runtime_stats متصل میشود.
نکته نسخه و احتیاط: SQL Server 2016 و نسخههای بعدی؛ برخی ستونها در نسخههای جدید افزوده شدهاند؛ خواندن ستون XML طرح برای همه ردیفها حافظه و CPU زیادی مصرف میکند؛ ابتدا متادیتا را فیلتر کنید.
مطالعه مقاله مستقل sys.query_store_plan با ده مثال عملی
4. sys.query_store_runtime_stats
تعداد اجرا، زمان، CPU، خواندنهای منطقی و فیزیکی، حافظه، تعداد ردیف و شاخصهای حداقل، حداکثر و میانگین را در هر بازه نگهداری میکند. کاربرد شاخص آن، رتبهبندی پرسوجوها بر اساس مصرف CPU، مدت اجرا یا IO در ساعتهای پرترافیک. است. رابطه مهم: از plan_id به plan و از runtime_stats_interval_id به بازههای زمانی متصل میشود.
نکته نسخه و احتیاط: SQL Server 2016 و نسخههای بعدی؛ واحد duration و CPU میکروثانیه است و جمعکردن میانگینها بدون وزندهی با count_executions نتیجه اشتباه میدهد.
مطالعه مقاله مستقل sys.query_store_runtime_stats با ده مثال عملی
تصویر دوم، جریان داده از متن Query تا تحلیل زمان اجرا و انتظارها را نشان میدهد.
5. sys.query_store_runtime_stats_interval
مرز شروع و پایان هر پنجره زمانی را برای اتصال درست آمار اجرا و انتظار فراهم میکند. کاربرد شاخص آن، ساخت نمودار ساعتی عملکرد و تبدیل آمار خام Query Store به سری زمانی قابل فهم. است. رابطه مهم: کلید runtime_stats_interval_id در runtime_stats و wait_stats استفاده میشود.
نکته نسخه و احتیاط: SQL Server 2016 و نسخههای بعدی؛ بازه فعال ممکن است هنوز در حال تغییر باشد و مقایسه آن با بازههای کامل باید با دقت انجام شود.
مطالعه مقاله مستقل sys.query_store_runtime_stats_interval با ده مثال عملی
6. sys.query_store_wait_stats
انتظارها را بر اساس plan، بازه زمانی و دسته انتظار جمعآوری میکند تا علت کندی فراتر از duration دیده شود. کاربرد شاخص آن، تفکیک کندی ناشی از CPU، قفل، IO، حافظه یا موازیسازی برای یک plan مشخص. است. رابطه مهم: با plan_id به plan و با runtime_stats_interval_id به interval متصل میشود.
نکته نسخه و احتیاط: SQL Server 2017 و نسخههای بعدی؛ این نما انتظارهای زمان اجرا را ثبت میکند و جایگزین کامل wait statistics سطح نمونه نیست.
مطالعه مقاله مستقل sys.query_store_wait_stats با ده مثال عملی
7. sys.query_store_options
نام رایج ولی نادرست sys.query_store_options را اصلاح میکند و روش استفاده از نمای واقعی sys.database_query_store_options را آموزش میدهد. کاربرد شاخص آن، تشخیص READ_ONLY شدن Query Store، پرشدن فضا و بررسی سیاست Capture و پاکسازی. است. رابطه مهم: یک ردیف وضعیت در سطح پایگاه داده برمیگرداند و بهطور معمول نیاز به Join ندارد.
نکته نسخه و احتیاط: نمای صحیح sys.database_query_store_options از SQL Server 2016 در دسترس است؛ در SQL Server نمایی با نام sys.query_store_options وجود ندارد؛ استفاده مستقیم از آن خطای Invalid object name ایجاد میکند.
مطالعه مقاله مستقل sys.query_store_options با ده مثال عملی
8. sys.query_context_settings
ترکیب تنظیماتی مانند زبان، date format و گزینههای SET را که هویت و معنای پرسوجو را تغییر میدهند ثبت میکند. کاربرد شاخص آن، توضیح اینکه چرا یک متن مشابه برای دو Session به query_id یا plan متفاوت منتهی شده است. است. رابطه مهم: از طریق context_settings_id به sys.query_store_query متصل میشود.
نکته نسخه و احتیاط: SQL Server 2016 و نسخههای بعدی؛ رمزگشایی set_options بهصورت عدد خام دشوار است و نباید بدون توجه به سایر ستونها تفسیر شود.
مطالعه مقاله مستقل sys.query_context_settings با ده مثال عملی
9. sys.query_store_query_hints
Hintهای ثبتشده بدون تغییر کد برنامه، شناسه Hint، query_id، متن OPTION و محدوده Replica را نشان میدهد. کاربرد شاخص آن، ممیزی MAXDOP، RECOMPILE یا Hintهای اصلاحی که از بیرون کد برنامه اعمال شدهاند. است. رابطه مهم: با query_id به sys.query_store_query و در نسخههای جدید با replica_group_id به replicas مرتبط است.
نکته نسخه و احتیاط: SQL Server 2022 و نسخههای بعدی؛ Hint نامناسب میتواند مشکل را پنهان یا طرحی نامطلوب را تثبیت کند؛ ثبت تغییر و برنامه بازگشت ضروری است.
مطالعه مقاله مستقل sys.query_store_query_hints با ده مثال عملی
تصویر سوم، روش کنترلشده برای استفاده از نماها و خطر خواندن یا تفسیر گسترده را مقایسه میکند.
10. sys.query_store_plan_feedback
اطلاعات بازخوردهای Memory Grant، CE، DOP و قابلیتهای جدیدتر بهینهسازی را برای planها نگهداری میکند. کاربرد شاخص آن، بررسی اینکه موتور چرا و چگونه برای یک طرح بازخورد کارایی ثبت کرده و وضعیت آن اکنون چیست. است. رابطه مهم: با plan_id به sys.query_store_plan و از آنجا به query متصل میشود.
نکته نسخه و احتیاط: SQL Server 2022 و نسخههای بعدی؛ وجود Feedback بهتنهایی به معنی موفقیت قطعی نیست؛ state، زمان آخرین تغییر و آمار اجرا باید کنار هم دیده شوند.
مطالعه مقاله مستقل sys.query_store_plan_feedback با ده مثال عملی
11. sys.query_store_replicas
گروههای Replica، نقشها و نام Replicaهایی را نمایش میدهد که داده Query Store برای بارهای خواندنی ثانویه به آنها نسبت داده میشود. کاربرد شاخص آن، تفکیک عملکرد بار خواندنی Primary و Secondary و تعیین محدوده Hint یا Plan Forcing. است. رابطه مهم: replica_group_id در query_store_query_hints و plan_forcing_locations برای تعیین محدوده Replica استفاده میشود.
نکته نسخه و احتیاط: SQL Server 2025 و نسخههای بعدی و Azure SQL Database؛ این قابلیت به نسخه و پیکربندی وابسته است؛ در محیط فاقد Query Store روی Secondary ممکن است نما وجود نداشته یا دادهای نداشته باشد.
مطالعه مقاله مستقل sys.query_store_replicas با ده مثال عملی
12. sys.query_store_plan_forcing_locations
ثبت میکند کدام query و plan در کدام replica_group به اجبار انتخاب شدهاند. کاربرد شاخص آن، ممیزی طرحهای اجباری روی Secondaryهای خواندنی و جلوگیری از اشتباه گرفتن اجبار Primary با Replica دیگر. است. رابطه مهم: به query_store_query، query_store_plan و query_store_replicas پیوند میخورد.
نکته نسخه و احتیاط: SQL Server 2025 و نسخههای بعدی و Azure SQL Database؛ Join اشتباه plan_id یا replica_group_id میتواند محل اجبار را نادرست گزارش کند و قابلیت فقط در نسخههای پشتیبان در دسترس است.
مطالعه مقاله مستقل sys.query_store_plan_forcing_locations با ده مثال عملی
شش مثال ترکیبی و کاربردی
مثال ترکیبی 1: یافتن Queryهای پرمصرف بر اساس CPU
این گزارش متن Query، طرح و آمار اجرا را متصل میکند و مجموع تقریبی CPU را بر اساس تعداد اجرا رتبهبندی میکند.
SELECT TOP (20)
q.query_id,
qt.query_sql_text,
SUM(rs.avg_cpu_time * rs.count_executions) AS total_cpu_us
FROM sys.query_store_query_text AS qt
INNER JOIN sys.query_store_query AS q
ON q.query_text_id = qt.query_text_id
INNER JOIN sys.query_store_plan AS p
ON p.query_id = q.query_id
INNER JOIN sys.query_store_runtime_stats AS rs
ON rs.plan_id = p.plan_id
GROUP BY q.query_id, qt.query_sql_text
ORDER BY total_cpu_us DESC;
| خروجی نمونه | معنا |
|---|
| رتبه ۱ | Query با بیشترین CPU تجمعی |
| واحد | میکروثانیه تقریبی |
نتیجه باید با بازه زمانی، نسخه موتور، بار کاری و تغییرات استقرار تطبیق داده شود؛ رتبه بالا بهتنهایی مجوز تغییر Plan یا تنظیمات نیست.
مثال ترکیبی 2: مقایسه چند طرح برای یک Query
این Query پرسوجوهایی را پیدا میکند که بیش از یک طرح داشتهاند و برای بررسی Regression مناسباند.
SELECT
query_id,
COUNT(*) AS plan_count,
SUM(CASE WHEN is_forced_plan = 1 THEN 1 ELSE 0 END) AS forced_count
FROM sys.query_store_plan
GROUP BY query_id
HAVING COUNT(*) > 1
ORDER BY plan_count DESC;
| خروجی نمونه | معنا |
|---|
| plan_count | تعداد طرحهای ثبتشده |
| forced_count | تعداد طرحهای اجباری |
نتیجه باید با بازه زمانی، نسخه موتور، بار کاری و تغییرات استقرار تطبیق داده شود؛ رتبه بالا بهتنهایی مجوز تغییر Plan یا تنظیمات نیست.
مثال ترکیبی 3: ساخت روند زمانی مدت اجرا
آمار Runtime با بازهها Join میشود تا روند میانگین وزنی duration در هر پنجره زمانی محاسبه شود.
SELECT
i.start_time,
i.end_time,
CAST(SUM(rs.avg_duration * rs.count_executions) /
NULLIF(SUM(rs.count_executions), 0) AS bigint) AS weighted_avg_duration_us
FROM sys.query_store_runtime_stats AS rs
INNER JOIN sys.query_store_runtime_stats_interval AS i
ON i.runtime_stats_interval_id = rs.runtime_stats_interval_id
GROUP BY i.start_time, i.end_time
ORDER BY i.start_time DESC;
| خروجی نمونه | معنا |
|---|
| هر ردیف | یک بازه Query Store |
| شاخص | میانگین وزنی duration |
نتیجه باید با بازه زمانی، نسخه موتور، بار کاری و تغییرات استقرار تطبیق داده شود؛ رتبه بالا بهتنهایی مجوز تغییر Plan یا تنظیمات نیست.
مثال ترکیبی 4: رتبهبندی دستههای انتظار
برای شناخت علت کندی، مجموع انتظارهای ثبتشده بر اساس دسته محاسبه میشود.
SELECT TOP (15)
wait_category_desc,
SUM(total_query_wait_time_ms) AS total_wait_ms
FROM sys.query_store_wait_stats
GROUP BY wait_category_desc
ORDER BY total_wait_ms DESC;
| خروجی نمونه | معنا |
|---|
| رتبه ۱ | دسته انتظار غالب |
| total_wait_ms | زمان انتظار تجمعی |
نتیجه باید با بازه زمانی، نسخه موتور، بار کاری و تغییرات استقرار تطبیق داده شود؛ رتبه بالا بهتنهایی مجوز تغییر Plan یا تنظیمات نیست.
مثال ترکیبی 5: کنترل وضعیت و فضای Query Store
وضعیت عملیاتی و درصد تقریبی مصرف فضای Query Store در پایگاه داده جاری نمایش داده میشود.
SELECT
actual_state_desc,
readonly_reason,
current_storage_size_mb,
max_storage_size_mb,
CAST(100.0 * current_storage_size_mb /
NULLIF(max_storage_size_mb, 0) AS decimal(6,2)) AS used_percent
FROM sys.database_query_store_options;
| خروجی نمونه | معنا |
|---|
| actual_state_desc | READ_WRITE یا READ_ONLY |
| used_percent | درصد تقریبی مصرف |
نتیجه باید با بازه زمانی، نسخه موتور، بار کاری و تغییرات استقرار تطبیق داده شود؛ رتبه بالا بهتنهایی مجوز تغییر Plan یا تنظیمات نیست.
مثال ترکیبی 6: ممیزی Hint و Feedback
Hintهای اعمالشده و Feedbackهای طرح بهصورت دو مجموعه جداگانه برای بازبینی تغییرات نمایش داده میشوند.
SELECT
query_id,
query_hint_text,
source_desc
FROM sys.query_store_query_hints
ORDER BY query_id;
SELECT
plan_id,
feature_desc,
state_desc,
last_updated_time
FROM sys.query_store_plan_feedback
ORDER BY last_updated_time DESC;
| خروجی نمونه | معنا |
|---|
| مجموعه اول | Query Store Hints |
| مجموعه دوم | Plan Feedback |
نتیجه باید با بازه زمانی، نسخه موتور، بار کاری و تغییرات استقرار تطبیق داده شود؛ رتبه بالا بهتنهایی مجوز تغییر Plan یا تنظیمات نیست.
مراحل استاندارد عیبیابی با Query Store
- وضعیت Query Store، READ_WRITE بودن و فضای باقیمانده را کنترل کنید.
- بازه زمانی رخداد را مشخص و intervalهای مرتبط را انتخاب کنید.
- Queryهای اثرگذار را بر اساس CPU، duration، IO یا تعداد اجرا رتبهبندی کنید.
- متن Query، query_id و plan_idها را به هم متصل و تغییر طرح را بررسی کنید.
- Waitها، context settings، Hintها و Feedbackها را برای علت مکمل تحلیل کنید.
- اقدام کمریسک تعریف کنید، خط مبنا بگیرید و اثر تغییر را در بازه بعدی بسنجید.
اشتباهات رایج
- تمرکز روی avg_duration بدون درنظرگرفتن count_executions و محاسبه میانگین وزنی.
- خواندن ستون query_plan برای همه طرحها پیش از محدودکردن query_id یا plan_id.
- تفسیر انتظارهای Query Store بهعنوان همه Waitهای سطح Instance.
- اعمال Plan Forcing یا Query Hint بدون ثبت دلیل، مالک تغییر و برنامه بازگشت.
- فرض وجود نماهای SQL Server 2022 یا 2025 روی همه سرورها بدون کنترل نسخه.
- استفاده از نام نامعتبر sys.query_store_options بهجای sys.database_query_store_options.
بهترین روشها برای گزارش و داشبورد
داشبورد خوب باید از داده خام فاصله بگیرد و شاخصهای قابل اقدام نشان دهد: Queryهای تازه کندشده، تغییر طرح، رشد CPU، سهم Waitها، وضعیت فضای Query Store و تغییرات Hint یا Feedback. هر شاخص باید بازه زمانی، واحد و تعداد نمونه را همراه داشته باشد.
برای تاریخچه بلندمدت، Snapshot کوچک و هدفمند بسازید. ذخیره تمام XML طرحها یا متنهای بزرگ در هر نمونهبرداری هم فضا را افزایش میدهد و هم مقایسه را دشوار میکند. شناسهها، هشها، مقادیر تجمعی و فقط طرحهای تغییرکرده انتخاب بهتری هستند.
سؤالات متداول
آیا Query Store جایگزین Plan Cache است؟
خیر. Query Store تاریخچه پایدارتر و تجمیعشده ارائه میکند، اما Plan Cache و DMVهای لحظهای هنوز برای جزئیات وضعیت جاری ارزشمندند.
مهمترین کلیدها در زنجیره نماها کداماند؟
query_text_id، query_id، plan_id و runtime_stats_interval_id چهار کلید اصلی برای حرکت بین متن، Query، Plan و آمار زمانی هستند.
چرا میانگینهای runtime_stats را نباید ساده جمع کرد؟
هر ردیف تعداد اجرای متفاوتی دارد. برای میانگین کل باید مقدار میانگین در count_executions ضرب و سپس بر مجموع تعداد اجرا تقسیم شود.
چرا Query Store ممکن است READ_ONLY شود؟
پرشدن فضای تخصیصیافته، محدودیتهای داخلی یا وضعیت پایگاه داده میتواند باعث READ_ONLY شدن شود؛ readonly_reason برای تشخیص کمک میکند.
آیا sys.query_store_options وجود دارد؟
نام صحیح برای مشاهده تنظیمات Query Store در پایگاه داده sys.database_query_store_options است.
Query Store Hints از چه نسخهای مهم شدهاند؟
قابلیت Query Store Hints و نمای مرتبط در SQL Server 2022 و نسخههای بعدی ارائه میشود.
Plan Feedback چه چیزی را ثبت میکند؟
بازخوردهای مرتبط با قابلیتهایی مانند Memory Grant، CE و DOP را برای طرحهای واجد شرایط ثبت میکند.
نماهای Replica در چه سناریویی کاربرد دارند؟
در محیطهای پشتیبان که Query Store برای Replicaهای خواندنی فعال است، برای تفکیک Scope و تحلیل بار Secondary استفاده میشوند.
برای ساخت گزارش سازمانی از کجا شروع کنیم؟
ابتدا سؤال تجاری و بازه رخداد را مشخص کنید، سپس یک Query کوچک برای یافتن شناسههای اثرگذار بسازید و لایههای متن، Plan، Runtime و Wait را تدریجی اضافه کنید.
چه زمانی مشاوره تخصصی SQL Server مفید است؟
وقتی Regression تکرار میشود، چند Replica یا نسخه متفاوت وجود دارد، یا تغییر Plan و Hint ریسک عملیاتی دارد، طراحی و بازبینی تخصصی میتواند خطا و زمان توقف را کاهش دهد.
سؤالات مصاحبه
- زنجیره ارتباط query_text، query، plan و runtime_stats را توضیح دهید.
- چگونه یک Plan Regression را با Query Store تشخیص میدهید؟
- فرق avg_duration ساده و میانگین وزنی چیست؟
- readonly_reason در مدیریت Query Store چه کاربردی دارد؟
- Query Store Hints و Plan Forcing چه تفاوت عملی دارند؟
- چگونه سازگاری اسکریپت Query Store را میان SQL Server 2016، 2022 و 2025 کنترل میکنید؟
جمعبندی
نماهای کاتالوگ Query Store یک مدل مرتبط میسازند: متن، هویت Query، طرح، آمار زمان اجرا، انتظار، تنظیمات و قابلیتهای مدیریتی. تحلیل قابل اتکا زمانی شکل میگیرد که کلیدها درست Join شوند، واحدها و بازهها رعایت شوند و نتیجه با شرایط واقعی بار کاری سنجیده شود.
برای ادامه، مقاله مستقل هر نما را از فهرست زیر انتخاب کنید.
خدمات برنامهنویسی و پایگاه داده
برنامهنویسی در اصفهان؛ قبول سفارشهای برنامهنویسی و پایگاه داده با شماره 09131253620.
انجام پروژه و آموزش تخصصی
انجام پروژههای برنامهنویسی، آموزش برنامهنویسی و آموزش پایگاه داده SQL Server برای اشخاص، شرکتها و مجموعههای آموزشی انجام میشود.
مجموعهای معتبر با سابقه فعالیت حرفهای از سال ۱۳۷۵ شمسی
از سال ۱۳۷۵ شمسی تاکنون در زمینه طراحی و اجرای پروژههای برنامهنویسی، پایگاه داده، سیستمهای تحت وب، وبسایت و راهکارهای نرمافزاری فعالیت میکنیم.
برای سفارش پروژههای برنامهنویسی و پایگاه داده، سیستمهای تحت وب، وبسایت و راهکارهای نرمافزاری جدید، با شماره تلفن همراه 09131253620 تماس حاصل فرمایید.
ایتا، واتساپ و تماس مستقیم: +989131253620
تماس با ما