Plan değişimi P408
Düşük Kötüleşme 572,1× BekliyorDB-11 · query_id 9572 · rag.usp_PlanChange_Detect · değişim 1.10.2026 21:00 · plan 7645 → 30664 · Dönüşümlü (17 el değiştirme) · Sorgu detayı ve analizleri
Güven gerekçesiDüşük: güçlü karşı kanıt (WORK_PROPORTIONAL).
Sorgu metni
(@from datetime,@asOf datetime,@ServerID int,@DatabaseName nvarchar(128),@minExec int)SELECT rs.ServerID, rs.DatabaseName, p.query_id, rs.plan_id,
SUM(CASE WHEN rs.execution_type = 0 THEN rs.count_executions ELSE 0 END) AS Execs,
SUM(CASE WHEN rs.execution_type = 3 THEN rs.count_executions ELSE 0 END) AS Aborted,
SUM(CASE WHEN rs.execution_type = 4 THEN rs.count_executions ELSE 0 END) AS Failed,
MIN(CASE WHEN rs.execution_type = 0 THEN rs.IntervalStartUtc END) AS FirstUtc,
MAX(CASE WHEN rs.execution_type = 0 THEN rs.IntervalEndUtc END) AS LastUtc,
SUM(CASE WHEN rs.execution_type = 0 THEN rs.avg_duration * rs.count_executions END) AS SumDur,
MAX(CASE WHEN rs.execution_type = 0 THEN rs.max_duration END) AS MaxDur,
SUM(CASE WHEN rs.execution_type = 0 THEN rs.count_executions * (SQUARE(ISNULL(rs.stdev_duration, 0)) + SQUARE(rs.avg_duration)) END) AS SumSq,
SUM(CASE WHEN rs.execution_type = 0 THEN rs.avg_cpu_time * rs.count_executions END) AS SumCpu,
MAX(CASE WHEN rs.execution_type = 0 THEN rs.max_cpu_time END) AS MaxCpu,
SUM(CASE WHEN rs.execution_type = 0 THEN rs.avg_logical_io_reads * rs.count_executions END) AS SumReads,
MAX(CASE WHEN rs.execution_type = 0 THEN rs.max_logical_io_reads END) AS MaxReads,
SUM(CASE WHEN rs.execution_type = 0 THEN rs.avg_physical_io_reads * rs.count_executions END) AS SumPhys,
SUM(CASE WHEN rs.execution_type = 0 THEN rs.avg_logical_io_writes * rs.count_executions END) AS SumWrites,
SUM(CASE WHEN rs.execution_type = 0 THEN rs.avg_query_max_used_memory * rs.count_executions END) AS SumMem,
SUM(CASE WHEN rs.execution_type = 0 THEN rs.avg_tempdb_space_used * rs.count_executions END) AS SumTempdb,
SUM(CASE WHEN rs.execution_type = 0 THEN rs.avg_dop * rs.count_executions END) AS SumDop,
SUM(CASE WHEN rs.execution_type = 0 THEN rs.avg_rowcount * rs.count_executions END) AS SumRows,
MAX(CASE WHEN rs.execution_type = 0 THEN rs.max_rowcount END) AS MaxRows
INTO #ps
FROM perf.QdsRuntimeStats AS rs
JOIN perf.QdsPlan AS p ON p.ServerID = rs.ServerID AND p.DatabaseName = rs.DatabaseName AND p.plan_id = rs.plan_id
JOIN DBA.MonitoredDatabase AS md ON md.ServerID = rs.ServerID AND md.DatabaseName = rs.DatabaseName
WHERE md.IsActive = 1 AND md.CollectQds = 1
AND rs.IntervalStartUtc >= @from AND rs.IntervalStartUtc < @asOf
AND (@ServerID IS NULL OR rs.ServerID = @ServerID)
AND (@DatabaseName IS NULL OR rs.DatabaseName = @DatabaseName)
GROUP BY rs.ServerID, rs.DatabaseName, p.query_id, rs.plan_id
HAVING SUM(CASE WHEN rs.execution_type = 0 THEN rs.count_executions ELSE 0 END) >= @minExec1. Etki özeti
| Metrik | Eski plan (7645) | Yeni plan (30664) | Değişim |
|---|---|---|---|
| Çalışma | 907 | 26 | |
| İptal / hata | 0 / 0 | 0 / 0 | |
| Süre ort. (ms) | 2,4 | 1.373,1 | +57110% |
| Süre maks. (ms) | 34,2 | 5.322,8 | +15455% |
| Süre sapma (ms) | 1,2 | 971,2 | +81437% |
| CPU ort. (ms) | 2,4 | 1.275,6 | +53132% |
| CPU maks. (ms) | 34,2 | 3.528,5 | +10211% |
| Mantıksal okuma ort. | 242,2 | 8.701,9 | +3493% |
| Mantıksal okuma maks. | 316,0 | 15.099,0 | +4678% |
| Fiziksel okuma | 0,0 | 1.315,0 | +119266912% |
| Yazma | 0,2 | 136,1 | +65901% |
| Bellek (KB) | 1.024,0 | 90.437,5 | +8732% |
| Tempdb (KB) | 128,1 | 5.585,2 | +4261% |
| DOP | 1,0 | 1,0 | 0% |
| Satır ort. | 3,8 | 5.000,2 | +133131% |
| Satır maks. | 6,0 | 6.325,0 | +105317% |
| Dönem | 29.09.2026 20:00 → 8.10.2026 20:00 | 1.10.2026 21:00 → 8.10.2026 21:00 |
Bekleme kategorileri
ms / çalışma| Bekleme kategorisi | Eski plan (7645) | Yeni plan (30664) |
|---|---|---|
| CPU | 0,0 | 89,4 |
| Memory | 0,0 | 18,0 |
| Buffer IO | – | 8,6 |
| Other Disk IO | – | 0,8 |
2. Zaman çizelgesi
Eski planYeni plan
┆ değişim anı (kesik çizgi)░ olay (bant: zamanı aralık olarak bilinen)
Olaylar
| Olay | Nesne | Zaman | Önce → sonra | Eski plan kullanıyor | Yeni plan kullanıyor | |
|---|---|---|---|---|---|---|
| StatsUpdated | perf.QdsPlan.PK_QdsPlan | 30.09.2026 22:17 | → 1985/1985 | hayır | evet | |
| StatsUpdated | perf.QdsPlan.PK_QdsPlan | 1.10.2026 21:11 | → 40256/40256 | hayır | evet | sıra belirsiz |
| StatsUpdated | perf.QdsPlan.IX_QdsPlan_Query | 30.09.2026 22:17 | → 1985/1985 | hayır | evet | |
| StatsUpdated | perf.QdsPlan.IX_QdsPlan_Query | 1.10.2026 21:11 | → 40256/40256 | hayır | evet | sıra belirsiz |
| StatsUpdated | perf.QdsPlan._WA_Sys_00000002_58671BC9 | 30.09.2026 22:17 | → 1985/1985 | hayır | evet | |
| StatsUpdated | perf.QdsPlan._WA_Sys_00000002_58671BC9 | 1.10.2026 21:11 | → 40256/40256 | hayır | evet | sıra belirsiz |
| StatsUpdated | perf.QdsPlan._WA_Sys_00000003_58671BC9 | 30.09.2026 22:17 | → 1985/1985 | hayır | evet | |
| StatsUpdated | perf.QdsPlan._WA_Sys_00000003_58671BC9 | 1.10.2026 21:11 | → 40256/40256 | hayır | evet | sıra belirsiz |
| StatsUpdated | perf.QdsPlan.IX_QdsPlan_PlanHash | 30.09.2026 21:15 | → 1980/1980 | hayır | evet | |
| StatsUpdated | perf.QdsPlan.IX_QdsPlan_PlanHash | 1.10.2026 21:11 | → 40256/40256 | hayır | evet | sıra belirsiz |
| StatsUpdated | perf.QdsPlan._WA_Sys_00000004_58671BC9 | 30.09.2026 21:15 | → 1980/1980 | hayır | hayır | |
| StatsUpdated | perf.QdsPlan._WA_Sys_00000004_58671BC9 | 1.10.2026 21:12 | → 40258/40258 | hayır | hayır | sıra belirsiz |
| StatsUpdated | perf.QdsPlan._WA_Sys_0000000A_58671BC9 | 30.09.2026 21:15 | → 1980/1980 | hayır | hayır | |
| StatsUpdated | perf.QdsPlan._WA_Sys_0000000A_58671BC9 | 1.10.2026 21:12 | → 40258/40258 | hayır | hayır | sıra belirsiz |
| StatsUpdated | perf.QdsRuntimeStats.PK_QdsRuntimeStats | 29.09.2026 22:11 | → 36991/42406 | hayır | evet | |
| StatsUpdated | perf.QdsRuntimeStats.PK_QdsRuntimeStats | 1.10.2026 21:11 | → 45913/140434 | hayır | evet | sıra belirsiz |
| StatsUpdated | perf.QdsRuntimeStats._WA_Sys_00000002_5C37ACAD | 29.09.2026 22:11 | → 36991/42406 | hayır | evet | |
| StatsUpdated | perf.QdsRuntimeStats._WA_Sys_00000002_5C37ACAD | 1.10.2026 21:11 | → 45913/140434 | hayır | evet | sıra belirsiz |
| StatsUpdated | perf.QdsRuntimeStats._WA_Sys_00000007_5C37ACAD | 30.09.2026 03:30 | → 37160/42690 | hayır | hayır | |
| StatsUpdated | perf.QdsRuntimeStats._WA_Sys_00000007_5C37ACAD | 1.10.2026 21:13 | → 45952/140533 | hayır | hayır | sıra belirsiz |
| StatsUpdated | perf.QdsRuntimeStats._WA_Sys_00000003_5C37ACAD | 29.09.2026 22:11 | → 36991/42406 | hayır | evet | |
| StatsUpdated | perf.QdsRuntimeStats._WA_Sys_00000003_5C37ACAD | 1.10.2026 21:11 | → 45913/140434 | hayır | evet | sıra belirsiz |
| StatsUpdated | perf.QdsRuntimeStats._WA_Sys_00000006_5C37ACAD | 29.09.2026 22:11 | → 36991/42406 | hayır | hayır | |
| StatsUpdated | perf.QdsRuntimeStats._WA_Sys_00000006_5C37ACAD | 1.10.2026 21:11 | → 45913/140434 | hayır | hayır | sıra belirsiz |
| StatsUpdated | perf.QdsRuntimeStats._WA_Sys_00000004_5C37ACAD | 30.09.2026 00:10 | → 37063/42489 | hayır | hayır | |
| StatsUpdated | perf.QdsRuntimeStats._WA_Sys_00000004_5C37ACAD | 1.10.2026 21:11 | → 45913/140434 | hayır | hayır | sıra belirsiz |
| StatsUpdated | perf.QdsRuntimeStats._WA_Sys_00000005_5C37ACAD | 30.09.2026 00:10 | → 37063/42489 | hayır | hayır | |
| StatsUpdated | perf.QdsRuntimeStats._WA_Sys_00000005_5C37ACAD | 1.10.2026 21:11 | → 45913/140434 | hayır | hayır | sıra belirsiz |
| StatsUpdated | perf.QdsRuntimeStats._WA_Sys_00000008_5C37ACAD | 29.09.2026 22:11 | → 36991/42406 | hayır | hayır | |
| StatsUpdated | perf.QdsRuntimeStats._WA_Sys_00000008_5C37ACAD | 1.10.2026 21:12 | → 45962/140525 | hayır | hayır | sıra belirsiz |
3. Plan karşılaştırması
- Yalnız eski planda erişim: perf.QdsPlan Table Scan; DBA.MonitoredDatabase Table Scan; perf.QdsRuntimeStats Table Scan
- Yalnız yeni planda erişim: perf.QdsPlan Clustered Index Scan [PK_QdsPlan]; DBA.MonitoredDatabase Clustered Index Scan [PK_MonitoredDatabase]; perf.QdsRuntimeStats Clustered Index Seek [PK_QdsRuntimeStats]
- Yalnız eski planda join: Nested Loops (Inner Join) ×2
- Yalnız yeni planda join: Merge Join (Inner Join); Nested Loops (Inner Join)
- Yalnız yeni planda uyarı: ColumnsWithNoStatistics
- Tahmini maliyet: 0.033 → 2.468; tahmini satır: 1 → 1185.7
- Eski planın index'leri
- yok
- Yeni planın index'leri
- perf.QdsPlan.PK_QdsPlan, DBA.MonitoredDatabase.PK_MonitoredDatabase, perf.QdsRuntimeStats.PK_QdsRuntimeStats
4. Neden adayları
ölçüm ve eşikle; kesin değildir| Kod | Ölçülen | Eşik | Sonuç | Açıklama |
|---|---|---|---|---|
| STATS | perf.QdsPlan.PK_QdsPlan güncellendi 2026-09-30 22:17 (örnekleme %100); pencerede 2 güncelleme | değişimden önceki 48 saat | destekliyor | İstatistik perf.QdsPlan.PK_QdsPlan 2026-09-30 22:17 güncellendi (örnekleme %100); pencerede 2 güncelleme; planlar bu istatistiği kullanıyor. |
| STATS | perf.QdsPlan.IX_QdsPlan_Query güncellendi 2026-09-30 22:17 (örnekleme %100); pencerede 2 güncelleme | değişimden önceki 48 saat | destekliyor | İstatistik perf.QdsPlan.IX_QdsPlan_Query 2026-09-30 22:17 güncellendi (örnekleme %100); pencerede 2 güncelleme; planlar bu istatistiği kullanıyor. |
| STATS | perf.QdsPlan._WA_Sys_00000002_58671BC9 güncellendi 2026-09-30 22:17 (örnekleme %100); pencerede 2 güncelleme | değişimden önceki 48 saat | destekliyor | İstatistik perf.QdsPlan._WA_Sys_00000002_58671BC9 2026-09-30 22:17 güncellendi (örnekleme %100); pencerede 2 güncelleme; planlar bu istatistiği kullanıyor. |
| STATS | perf.QdsPlan._WA_Sys_00000003_58671BC9 güncellendi 2026-09-30 22:17 (örnekleme %100); pencerede 2 güncelleme | değişimden önceki 48 saat | destekliyor | İstatistik perf.QdsPlan._WA_Sys_00000003_58671BC9 2026-09-30 22:17 güncellendi (örnekleme %100); pencerede 2 güncelleme; planlar bu istatistiği kullanıyor. |
| STATS | perf.QdsPlan.IX_QdsPlan_PlanHash güncellendi 2026-09-30 21:15 (örnekleme %100); pencerede 2 güncelleme | değişimden önceki 48 saat | destekliyor | İstatistik perf.QdsPlan.IX_QdsPlan_PlanHash 2026-09-30 21:15 güncellendi (örnekleme %100); pencerede 2 güncelleme; planlar bu istatistiği kullanıyor. |
| STATS | perf.QdsRuntimeStats.PK_QdsRuntimeStats güncellendi 2026-09-29 22:11 (örnekleme %87.2); pencerede 2 güncelleme | değişimden önceki 48 saat | destekliyor | İstatistik perf.QdsRuntimeStats.PK_QdsRuntimeStats 2026-09-29 22:11 güncellendi (örnekleme %87.2); pencerede 2 güncelleme; planlar bu istatistiği kullanıyor. |
| STATS | perf.QdsRuntimeStats._WA_Sys_00000002_5C37ACAD güncellendi 2026-09-29 22:11 (örnekleme %87.2); pencerede 2 güncelleme | değişimden önceki 48 saat | destekliyor | İstatistik perf.QdsRuntimeStats._WA_Sys_00000002_5C37ACAD 2026-09-29 22:11 güncellendi (örnekleme %87.2); pencerede 2 güncelleme; planlar bu istatistiği kullanıyor. |
| STATS | perf.QdsRuntimeStats._WA_Sys_00000003_5C37ACAD güncellendi 2026-09-29 22:11 (örnekleme %87.2); pencerede 2 güncelleme | değişimden önceki 48 saat | destekliyor | İstatistik perf.QdsRuntimeStats._WA_Sys_00000003_5C37ACAD 2026-09-29 22:11 güncellendi (örnekleme %87.2); pencerede 2 güncelleme; planlar bu istatistiği kullanıyor. |
| STATS | 7 istatistik güncellendi, planlar kullanmıyor | desteklemiyor | Pencerede güncellenen ama iki planın da kullanmadığı istatistikler aday değil: perf.QdsPlan._WA_Sys_00000004_58671BC9, perf.QdsPlan._WA_Sys_0000000A_58671BC9, perf.QdsRuntimeStats._WA_Sys_00000007_5C37ACAD, perf.QdsRuntimeStats._WA_Sys_00000006_5C37ACAD, perf.QdsRuntimeStats._WA_Sys_00000004_5C37ACAD (+2). | |
| WORKLOAD | çalışma başına satır 3.75 → 5000.19 (1332.31×) | ≥ 2× | destekliyor | Planlar farklı iş yükü görüyor: çalışma başına satır 3.75 → 5000.19. Planlar farklı parametre/parti büyüklüğü için derlenmiş olabilir. |
| PARAM | baskın plan 17 kez el değiştirdi | ≥ 3 | destekliyor | İki plan aynı dönemde sırayla kullanılıyor (17 el değiştirme): plan seçimi bir olaydan çok parametre değerine bağlı (parametre duyarlılığı). |
5. Karşı kanıtlar
- WORK_PROPORTIONAL (güçlü): Çalışma başına satır 1332.31×, süre 572.1× değişti; satır başına süre 0.6395 → 0.2746 ms: süre farkı işlenen veri miktarından, plandan değil.
- LOW_SAMPLE (zayıf): Yeni plan yalnız 26 kez çalışmış: örnek az, ortalama zayıf.
- METADATA_GAP (zayıf): Metadata toplama 2026-10-01 tarihinde başladı, değişim 2026-10-01: index/istatistik/modül olayları değerlendirilemedi (olay yok değil, veri yok).
6. Korpus metni önizlemesi
onaylanınca RAG hafızasına bu metin girer (başlığa onaylayan eklenir)Plan change case #P408 | DB: DB-11 | Regression | Confidence: Low (review pending) Query: (@from datetime,@asOf datetime,@ServerID int,@DatabaseName nvarchar(?),@minExec int)SELECT rs.ServerID, rs.DatabaseName, p.query_id, rs.plan_id, SUM(CASE WHEN rs.execution_type = ? THEN rs.count_executions ELSE ? END) AS Execs, SUM(CASE WHEN rs.execution_type = ? THEN rs.count_executions ELSE ? END) AS Aborted, SUM(CASE WHEN rs.execution_type = ? THEN rs.count_executions ELSE ? END) AS Failed, MIN(CASE WHEN rs.execution_type = ? THEN rs.IntervalStartUtc END) AS FirstUtc, MAX(CASE WHEN rs.execution_type = ? THEN rs.IntervalEndUtc END) AS LastUtc, SUM(CASE WHEN rs.execution_type = ? THEN rs.avg_duration * rs.count_executions END) AS SumDur, MAX(CASE WHEN rs.execution_type = ? THEN rs.max_duration END) AS MaxDur, SUM(CASE WHEN rs.execution_type = ? THEN rs.count_executions * (SQUARE(ISNULL(rs.stdev_duration, ?)) + SQUARE(rs.avg_duration)) END) AS SumSq, SUM(CASE WHEN rs.execution_type = ? THEN rs.avg_cpu_time * rs.count_executions END) AS SumCpu, MAX(CASE WHEN rs.execution_type = ? THEN rs.max_cpu_time END) AS MaxCpu, SUM(CASE WHEN rs.execution_type = ? THEN rs.avg_logical_io_reads * rs.count_executions END) AS SumReads, MAX(CASE WHEN rs.execution_type = ? THEN rs.max_logical_io_reads END) AS MaxReads, SUM(CASE WHEN rs.execution_type = ? THEN rs.avg_physical_io_reads * rs.count_executions END) AS SumPhys, SUM(CASE WHEN rs.execution_type = ? THEN rs.avg_logical_io_writes * rs.count_executions END) AS SumWrites, SUM(CASE WHEN rs.execution_type = ? THEN rs.avg_query_max_used_memory * rs.count_executions END) AS SumMem, SUM(CASE WHEN rs.execution_type = ? THEN rs.avg_tempdb_space_used * rs.count_executions END) AS SumTempdb, SUM(CASE WHEN rs.execution_type = ? THEN rs.avg_dop * rs.count_executions END) AS SumDop, SUM(CASE WHEN rs.execution_type = ? THEN rs.avg_rowcount * rs.count_executions END) AS SumRows, MAX(CASE WHEN rs.execution_type = ? THEN rs.max_rowcount END) AS MaxRows INTO #ps FROM perf.QdsRuntimeStats AS rs JOIN perf.QdsPlan AS p ON p.ServerID = rs.ServerID AND p.DatabaseName = rs.DatabaseName AND p.plan_id = rs.plan_id JOIN DBA.MonitoredDatabase AS md ON md.ServerID = rs.ServerID AND md.DatabaseName = rs.DatabaseName WHERE md.IsActive = ? AND md.CollectQds = ? AND rs.IntervalStartUtc >= @from AND rs.IntervalStartUtc < @asOf AND (@ServerID IS NULL OR rs.ServerID = @ServerID) AND (@DatabaseName IS NULL OR rs.DatabaseName = @DatabaseName) GROUP BY rs.ServerID, rs.DatabaseName, p.query_id, rs.plan_id HAVING SUM(CASE WHEN rs.execution_type = ? THEN rs.count_executions ELSE ? END) >= @minExec Change: 2026-10-01 21:00 UTC, plan 7645 → 30664, pattern: Alternating (17 switches) Impact (Query Store, per execution): duration 2.4 → 1373.1 ms (+57110%); CPU 2.4 → 1275.6 ms (+53132%); reads 242 → 8,702 (+3493%); rows 3.75 → 5000.19 (+133131%) Plan difference: Access only in the old plan: perf.QdsPlan Table Scan; DBA.MonitoredDatabase Table Scan; perf.QdsRuntimeStats Table Scan; Access only in the new plan: perf.QdsPlan Clustered Index Scan [PK_QdsPlan]; DBA.MonitoredDatabase Clustered Index Scan [PK_MonitoredDatabase]; perf.QdsRuntimeStats Clustered Index Seek [PK_QdsRuntimeStats]; Join only in the old plan: Nested Loops (Inner Join) ×2; Join only in the new plan: Merge Join (Inner Join); Nested Loops (Inner Join) Candidate cause: STATS — Statistic perf.QdsPlan.PK_QdsPlan was updated 2026-09-30 22:17 (sampled 100%); 2 updates in the window; the plans use this statistic. Candidate cause: STATS — Statistic perf.QdsPlan.IX_QdsPlan_Query was updated 2026-09-30 22:17 (sampled 100%); 2 updates in the window; the plans use this statistic. Candidate cause: STATS — Statistic perf.QdsPlan._WA_Sys_00000002_58671BC9 was updated 2026-09-30 22:17 (sampled 100%); 2 updates in the window; the plans use this statistic. Candidate cause: STATS — Statistic perf.QdsPlan._WA_Sys_00000003_58671BC9 was updated 2026-09-30 22:17 (sampled 100%); 2 updates in the window; the plans use this statistic. Candidate cause: STATS — Statistic perf.QdsPlan.IX_QdsPlan_PlanHash was updated 2026-09-30 21:15 (sampled 100%); 2 updates in the window; the plans use this statistic. Candidate cause: STATS — Statistic perf.QdsRuntimeStats.PK_QdsRuntimeStats was updated 2026-09-29 22:11 (sampled 87.2%); 2 updates in the window; the plans use this statistic. Candidate cause: STATS — Statistic perf.QdsRuntimeStats._WA_Sys_00000002_5C37ACAD was updated 2026-09-29 22:11 (sampled 87.2%); 2 updates in the window; the plans use this statistic. Candidate cause: STATS — Statistic perf.QdsRuntimeStats._WA_Sys_00000003_5C37ACAD was updated 2026-09-29 22:11 (sampled 87.2%); 2 updates in the window; the plans use this statistic. Candidate cause: WORKLOAD — The plans see a different workload: rows per execution 3.75 → 5000.19. The plans may have been compiled for different parameters or batch sizes. Candidate cause: PARAM — The two plans alternate in the same period (17 switches): plan choice depends on the parameter value rather than an event (parameter sensitivity). Counter-evidence: WORK_PROPORTIONAL — Rows per execution changed 1332.31× and duration 572.1×; duration per row 0.6395 → 0.2746 ms: the duration difference comes from the amount of data processed, not the plan. Counter-evidence: LOW_SAMPLE — The new plan ran only 26 times: the sample is small and the average is weak. Counter-evidence: METADATA_GAP — Metadata collection started on 2026-10-01 and the change was on 2026-10-01: index, statistics and module events could not be evaluated (no data, not no events). Confidence rationale: Low: strong counter-evidence (WORK_PROPORTIONAL). Note: this is a candidate cause, not proof of the root cause.
7. Karar
Karar vermek için Analyst rolü gerekir.
Karar geçmişi
Kayıt yok
Henüz karar yok.