diff --git a/Dashboard/Services/DatabaseService.NocHealth.cs b/Dashboard/Services/DatabaseService.NocHealth.cs index 26cb36f0..4e711ef4 100644 --- a/Dashboard/Services/DatabaseService.NocHealth.cs +++ b/Dashboard/Services/DatabaseService.NocHealth.cs @@ -563,7 +563,7 @@ SELECT TOP (3) waiting_tasks_count_delta, avg_ms_per_wait = CASE WHEN waiting_tasks_count_delta > 0 - THEN CAST(wait_time_ms_delta AS decimal(19, 2)) / waiting_tasks_count_delta + THEN CAST(CAST(wait_time_ms_delta AS decimal(19, 2)) / waiting_tasks_count_delta AS decimal(18, 4)) ELSE 0 END FROM collect.wait_stats WHERE wait_type IN (N'THREADPOOL', N'RESOURCE_SEMAPHORE', N'RESOURCE_SEMAPHORE_QUERY_COMPILE') diff --git a/Dashboard/Services/DatabaseService.QueryPerformance.cs b/Dashboard/Services/DatabaseService.QueryPerformance.cs index 88e90457..6c3c2c81 100644 --- a/Dashboard/Services/DatabaseService.QueryPerformance.cs +++ b/Dashboard/Services/DatabaseService.QueryPerformance.cs @@ -2328,7 +2328,7 @@ GROUP BY ) SELECT ed.collection_time, - executions_per_second = CAST(ed.total_execution_count AS decimal(19, 4)) / ed.interval_seconds + executions_per_second = CAST(CAST(ed.total_execution_count AS decimal(19, 4)) / ed.interval_seconds AS decimal(18, 4)) FROM exec_deltas AS ed WHERE ed.interval_seconds > 0 ORDER BY @@ -2362,7 +2362,7 @@ GROUP BY ) SELECT ed.collection_time, - executions_per_second = CAST(ed.total_execution_count AS decimal(19, 4)) / ed.interval_seconds + executions_per_second = CAST(CAST(ed.total_execution_count AS decimal(19, 4)) / ed.interval_seconds AS decimal(18, 4)) FROM exec_deltas AS ed WHERE ed.interval_seconds > 0 ORDER BY @@ -2747,7 +2747,7 @@ WHERE ws.wait_type LIKE N'LCK%' wait_time_ms_per_second = CASE WHEN ld.interval_seconds > 0 - THEN CAST(ld.wait_time_ms_delta AS decimal(19, 4)) / ld.interval_seconds + THEN CAST(CAST(ld.wait_time_ms_delta AS decimal(19, 4)) / ld.interval_seconds AS decimal(18, 4)) ELSE 0 END FROM lock_deltas AS ld @@ -2790,7 +2790,7 @@ WHERE ws.wait_type LIKE N'LCK%' wait_time_ms_per_second = CASE WHEN ld.interval_seconds > 0 - THEN CAST(ld.wait_time_ms_delta AS decimal(19, 4)) / ld.interval_seconds + THEN CAST(CAST(ld.wait_time_ms_delta AS decimal(19, 4)) / ld.interval_seconds AS decimal(18, 4)) ELSE 0 END FROM lock_deltas AS ld diff --git a/Dashboard/Services/DatabaseService.ResourceMetrics.cs b/Dashboard/Services/DatabaseService.ResourceMetrics.cs index a6b2bc23..49120927 100644 --- a/Dashboard/Services/DatabaseService.ResourceMetrics.cs +++ b/Dashboard/Services/DatabaseService.ResourceMetrics.cs @@ -444,13 +444,13 @@ AND ws.wait_type IN (SELECT wait_type FROM top_waits) wait_time_ms_per_second = CASE WHEN wd.interval_seconds > 0 - THEN CAST(wd.wait_time_ms_delta AS decimal(19, 4)) / wd.interval_seconds + THEN CAST(CAST(wd.wait_time_ms_delta AS decimal(19, 4)) / wd.interval_seconds AS decimal(18, 4)) ELSE 0 END, signal_wait_time_ms_per_second = CASE WHEN wd.interval_seconds > 0 - THEN CAST(wd.signal_wait_time_ms_delta AS decimal(19, 4)) / wd.interval_seconds + THEN CAST(CAST(wd.signal_wait_time_ms_delta AS decimal(19, 4)) / wd.interval_seconds AS decimal(18, 4)) ELSE 0 END, wd.waiting_tasks_count @@ -521,13 +521,13 @@ AND ws.wait_type IN (SELECT wait_type FROM top_waits) wait_time_ms_per_second = CASE WHEN wd.interval_seconds > 0 - THEN CAST(wd.wait_time_ms_delta AS decimal(19, 4)) / wd.interval_seconds + THEN CAST(CAST(wd.wait_time_ms_delta AS decimal(19, 4)) / wd.interval_seconds AS decimal(18, 4)) ELSE 0 END, signal_wait_time_ms_per_second = CASE WHEN wd.interval_seconds > 0 - THEN CAST(wd.signal_wait_time_ms_delta AS decimal(19, 4)) / wd.interval_seconds + THEN CAST(CAST(wd.signal_wait_time_ms_delta AS decimal(19, 4)) / wd.interval_seconds AS decimal(18, 4)) ELSE 0 END, wd.waiting_tasks_count @@ -1879,19 +1879,19 @@ FROM collect.wait_stats AS ws wait_time_ms_per_second = CASE WHEN wd.interval_seconds > 0 - THEN CAST(wd.wait_time_ms_delta AS decimal(19, 4)) / wd.interval_seconds + THEN CAST(CAST(wd.wait_time_ms_delta AS decimal(19, 4)) / wd.interval_seconds AS decimal(18, 4)) ELSE 0 END, signal_wait_time_ms_per_second = CASE WHEN wd.interval_seconds > 0 - THEN CAST(wd.signal_wait_time_ms_delta AS decimal(19, 4)) / wd.interval_seconds + THEN CAST(CAST(wd.signal_wait_time_ms_delta AS decimal(19, 4)) / wd.interval_seconds AS decimal(18, 4)) ELSE 0 END, avg_ms_per_wait = CASE WHEN wd.waiting_tasks_delta > 0 - THEN CAST(wd.wait_time_ms_delta AS decimal(19, 4)) / wd.waiting_tasks_delta + THEN CAST(CAST(wd.wait_time_ms_delta AS decimal(19, 4)) / wd.waiting_tasks_delta AS decimal(18, 4)) ELSE 0 END FROM wait_deltas AS wd @@ -1957,19 +1957,19 @@ FROM collect.wait_stats AS ws wait_time_ms_per_second = CASE WHEN wd.interval_seconds > 0 - THEN CAST(wd.wait_time_ms_delta AS decimal(19, 4)) / wd.interval_seconds + THEN CAST(CAST(wd.wait_time_ms_delta AS decimal(19, 4)) / wd.interval_seconds AS decimal(18, 4)) ELSE 0 END, signal_wait_time_ms_per_second = CASE WHEN wd.interval_seconds > 0 - THEN CAST(wd.signal_wait_time_ms_delta AS decimal(19, 4)) / wd.interval_seconds + THEN CAST(CAST(wd.signal_wait_time_ms_delta AS decimal(19, 4)) / wd.interval_seconds AS decimal(18, 4)) ELSE 0 END, avg_ms_per_wait = CASE WHEN wd.waiting_tasks_delta > 0 - THEN CAST(wd.wait_time_ms_delta AS decimal(19, 4)) / wd.waiting_tasks_delta + THEN CAST(CAST(wd.wait_time_ms_delta AS decimal(19, 4)) / wd.waiting_tasks_delta AS decimal(18, 4)) ELSE 0 END FROM wait_deltas AS wd @@ -2066,15 +2066,15 @@ FROM collect.wait_stats AS ws wd.wait_type, wait_time_ms_per_second = CASE WHEN wd.interval_seconds > 0 - THEN CAST(wd.wait_time_ms_delta AS decimal(19, 4)) / wd.interval_seconds + THEN CAST(CAST(wd.wait_time_ms_delta AS decimal(19, 4)) / wd.interval_seconds AS decimal(18, 4)) ELSE 0 END, signal_wait_time_ms_per_second = CASE WHEN wd.interval_seconds > 0 - THEN CAST(wd.signal_wait_time_ms_delta AS decimal(19, 4)) / wd.interval_seconds + THEN CAST(CAST(wd.signal_wait_time_ms_delta AS decimal(19, 4)) / wd.interval_seconds AS decimal(18, 4)) ELSE 0 END, avg_ms_per_wait = CASE WHEN wd.waiting_tasks_delta > 0 - THEN CAST(wd.wait_time_ms_delta AS decimal(19, 4)) / wd.waiting_tasks_delta + THEN CAST(CAST(wd.wait_time_ms_delta AS decimal(19, 4)) / wd.waiting_tasks_delta AS decimal(18, 4)) ELSE 0 END FROM wait_deltas AS wd WHERE wd.wait_time_ms_delta > 0 @@ -2124,15 +2124,15 @@ FROM collect.wait_stats AS ws wd.wait_type, wait_time_ms_per_second = CASE WHEN wd.interval_seconds > 0 - THEN CAST(wd.wait_time_ms_delta AS decimal(19, 4)) / wd.interval_seconds + THEN CAST(CAST(wd.wait_time_ms_delta AS decimal(19, 4)) / wd.interval_seconds AS decimal(18, 4)) ELSE 0 END, signal_wait_time_ms_per_second = CASE WHEN wd.interval_seconds > 0 - THEN CAST(wd.signal_wait_time_ms_delta AS decimal(19, 4)) / wd.interval_seconds + THEN CAST(CAST(wd.signal_wait_time_ms_delta AS decimal(19, 4)) / wd.interval_seconds AS decimal(18, 4)) ELSE 0 END, avg_ms_per_wait = CASE WHEN wd.waiting_tasks_delta > 0 - THEN CAST(wd.wait_time_ms_delta AS decimal(19, 4)) / wd.waiting_tasks_delta + THEN CAST(CAST(wd.wait_time_ms_delta AS decimal(19, 4)) / wd.waiting_tasks_delta AS decimal(18, 4)) ELSE 0 END FROM wait_deltas AS wd WHERE wd.wait_time_ms_delta > 0