@@ -2284,13 +2284,16 @@ OPTION(MAXDOP 1, RECOMPILE);',
22842284 total_data_files =
22852285 COUNT_BIG (* ),
22862286 min_size_gb =
2287- MIN (mf .size * 8 ) / 1024 / 1024 ,
2287+ CONVERT ( decimal ( 19 , 2 ), MIN (mf .size * 8 . 0 ) / 1024 . 0 / 1024 . 0 ) ,
22882288 max_size_gb =
2289- MAX (mf .size * 8 ) / 1024 / 1024 ,
2289+ CONVERT (decimal (19 , 2 ), MAX (mf .size * 8 .0 ) / 1024 .0 / 1024 .0 ),
2290+ /* Exclude percent-growth files: their mf.growth is a percentage,
2291+ not page count, so * 8 math produces meaningless GB numbers.
2292+ Percent-growth files are legacy/misconfigured in tempdb anyway. */
22902293 min_growth_increment_gb =
2291- MIN (mf .growth * 8 ) / 1024 / 1024 ,
2294+ CONVERT ( decimal ( 19 , 2 ), MIN (CASE WHEN mf .is_percent_growth = 0 THEN mf . growth * 8 . 0 END ) / 1024 . 0 / 1024 . 0 ) ,
22922295 max_growth_increment_gb =
2293- MAX (mf .growth * 8 ) / 1024 / 1024 ,
2296+ CONVERT ( decimal ( 19 , 2 ), MAX (CASE WHEN mf .is_percent_growth = 0 THEN mf . growth * 8 . 0 END ) / 1024 . 0 / 1024 . 0 ) ,
22942297 scheduler_total_count =
22952298 (
22962299 SELECT
@@ -2576,14 +2579,18 @@ OPTION(MAXDOP 1, RECOMPILE);',
25762579 @database_size_out = N'
25772580 SELECT
25782581 @database_size_out_gb =
2579- SUM
2582+ CONVERT
25802583 (
2581- CONVERT
2584+ decimal(19, 2),
2585+ SUM
25822586 (
2583- bigint,
2584- df.size
2585- )
2586- ) * 8 / 1024 / 1024
2587+ CONVERT
2588+ (
2589+ bigint,
2590+ df.size
2591+ )
2592+ ) * 8.0 / 1024.0 / 1024.0
2593+ )
25872594 FROM sys.database_files AS df
25882595 OPTION(MAXDOP 1, RECOMPILE);' ;
25892596 END ;
@@ -2593,14 +2600,18 @@ OPTION(MAXDOP 1, RECOMPILE);',
25932600 @database_size_out = N'
25942601 SELECT
25952602 @database_size_out_gb =
2596- SUM
2603+ CONVERT
25972604 (
2598- CONVERT
2605+ decimal(19, 2),
2606+ SUM
25992607 (
2600- bigint,
2601- mf.size
2602- )
2603- ) * 8 / 1024 / 1024
2608+ CONVERT
2609+ (
2610+ bigint,
2611+ mf.size
2612+ )
2613+ ) * 8.0 / 1024.0 / 1024.0
2614+ )
26042615 FROM sys.master_files AS mf
26052616 WHERE mf.database_id > 4
26062617 OPTION(MAXDOP 1, RECOMPILE);' ;
@@ -2654,9 +2665,9 @@ OPTION(MAXDOP 1, RECOMPILE);',
26542665 indicators_system =
26552666 t .record .value (' (/Record/ResourceMonitor/IndicatorsSystem)[1]' , ' integer' ),
26562667 physical_memory_available_gb =
2657- t .record .value (' (/Record/MemoryRecord/AvailablePhysicalMemory)[1]' , ' bigint' ) / 1024 / 1024 ,
2668+ CONVERT ( decimal ( 19 , 2 ), t .record .value (' (/Record/MemoryRecord/AvailablePhysicalMemory)[1]' , ' bigint' ) / 1024 . 0 / 1024 . 0 ) ,
26582669 virtual_memory_available_gb =
2659- t .record .value (' (/Record/MemoryRecord/AvailableVirtualAddressSpace)[1]' , ' bigint' ) / 1024 / 1024
2670+ CONVERT ( decimal ( 19 , 2 ), t .record .value (' (/Record/MemoryRecord/AvailableVirtualAddressSpace)[1]' , ' bigint' ) / 1024 . 0 / 1024 . 0 )
26602671 FROM sys .dm_os_sys_info AS osi
26612672 CROSS JOIN
26622673 (
@@ -2944,12 +2955,12 @@ OPTION(MAXDOP 1, RECOMPILE);',
29442955 SELECT
29452956 CONVERT
29462957 (
2947- bigint ,
2948- c.value_in_use
2958+ decimal(19, 2) ,
2959+ CONVERT(bigint, c.value_in_use) / 1024.0
29492960 )
29502961 FROM sys.configurations AS c
29512962 WHERE c.name = N'' max server memory (MB)''
2952- ) / 1024 ,
2963+ ),
29532964 max_memory_grant_cap =
29542965 @memory_grant_cap,
29552966 memory_model =
0 commit comments