1+ select
2+ t1 .cntr_value as buffer_cache_hit_ratio,
3+ (t1 .cntr_value * 1 .0 / t2 .cntr_value ) * 100 .0 as buffer_pool_hit_percent,
4+ t3 .cntr_value as sql_compilations,
5+ t4 .cntr_value as sql_recompilations,
6+ t5 .cntr_value as user_connections,
7+ t6 .cntr_value as lock_wait_time_ms,
8+ t7 .cntr_value as page_splits_sec,
9+ t8 .cntr_value as checkpoint_pages_sec,
10+ t9 .cntr_value as deadlocks_sec,
11+ t10 .cntr_value as user_errors,
12+ t11 .cntr_value as kill_connection_errors,
13+ t12 .cntr_value as batch_request_sec,
14+ t13 .cntr_value as page_life_expectancy_sec,
15+ t14 .cntr_value as transactions_sec,
16+ t15 .cntr_value as forced_parameterizations_sec
17+ from (SELECT * FROM sys .dm_os_performance_counters WITH (NOLOCK) WHERE counter_name = ' Buffer cache hit ratio' ) t1,
18+ (SELECT * FROM sys .dm_os_performance_counters WITH (NOLOCK) WHERE counter_name = ' Buffer cache hit ratio base' ) t2,
19+ (SELECT * FROM sys .dm_os_performance_counters with (NOLOCK) WHERE counter_name = ' SQL Compilations/sec' ) t3,
20+ (SELECT * FROM sys .dm_os_performance_counters with (NOLOCK) WHERE counter_name = ' SQL Re-Compilations/sec' ) t4,
21+ (SELECT * FROM sys .dm_os_performance_counters WITH (NOLOCK) WHERE counter_name = ' User Connections' ) t5,
22+ (SELECT * FROM sys .dm_os_performance_counters WITH (NOLOCK) where counter_name = ' Lock Wait Time (ms)' AND instance_name = ' _Total' ) t6,
23+ (SELECT * FROM sys .dm_os_performance_counters WITH (NOLOCK) where counter_name = ' Page Splits/sec' ) t7,
24+ (SELECT * FROM sys .dm_os_performance_counters WITH (NOLOCK) WHERE counter_name = ' Checkpoint pages/sec' ) t8,
25+ (SELECT * FROM sys .dm_os_performance_counters WITH (NOLOCK) where counter_name = ' Number of Deadlocks/sec' AND instance_name = ' _Total' ) t9,
26+ (SELECT * FROM sys .dm_os_performance_counters WITH (NOLOCK) where object_name = ' SQLServer:SQL Errors' and instance_name = ' User Errors' ) t10,
27+ (SELECT * FROM sys .dm_os_performance_counters WITH (NOLOCK) where object_name = ' SQLServer:SQL Errors' and instance_name like ' Kill Connection Errors%' ) t11,
28+ (SELECT * FROM sys .dm_os_performance_counters WITH (NOLOCK) WHERE counter_name = ' Batch Requests/sec' ) t12,
29+ (SELECT * FROM sys .dm_os_performance_counters WITH (NOLOCK) WHERE counter_name = ' Page life expectancy' AND object_name LIKE ' %Manager%' ) t13,
30+ (SELECT SUM (cntr_value) as cntr_value FROM sys .dm_os_performance_counters WITH (NOLOCK) WHERE counter_name = ' Transactions/sec' ) t14,
31+ (SELECT * FROM sys .dm_os_performance_counters WITH (NOLOCK) WHERE counter_name = ' Forced Parameterizations/sec' ) t15
32+
33+ SELECT
34+ SUM (wait_time_ms) as wait_time
35+ FROM sys .dm_os_wait_stats
36+ WHERE [wait_type] NOT IN (
37+ N' CLR_SEMAPHORE' , N' LAZYWRITER_SLEEP' ,
38+ N' RESOURCE_QUEUE' , N' SQLTRACE_BUFFER_FLUSH' ,
39+ N' SLEEP_TASK' , N' SLEEP_SYSTEMTASK' ,
40+ N' WAITFOR' , N' HADR_FILESTREAM_IOMGR_IOCOMPLETION' ,
41+ N' CHECKPOINT_QUEUE' , N' REQUEST_FOR_DEADLOCK_SEARCH' ,
42+ N' XE_TIMER_EVENT' , N' XE_DISPATCHER_JOIN' ,
43+ N' LOGMGR_QUEUE' , N' FT_IFTS_SCHEDULER_IDLE_WAIT' ,
44+ N' BROKER_TASK_STOP' , N' CLR_MANUAL_EVENT' ,
45+ N' CLR_AUTO_EVENT' , N' DISPATCHER_QUEUE_SEMAPHORE' ,
46+ N' TRACEWRITE' , N' XE_DISPATCHER_WAIT' ,
47+ N' BROKER_TO_FLUSH' , N' BROKER_EVENTHANDLER' ,
48+ N' FT_IFTSHC_MUTEX' , N' SQLTRACE_INCREMENTAL_FLUSH_SLEEP' ,
49+ N' DIRTY_PAGE_POLL' , N' SP_SERVER_DIAGNOSTICS_SLEEP' )
50+
51+ SELECT wait_type, wait_time_ms AS wait_time, waiting_tasks_count
52+ FROM sys .dm_os_wait_stats wait_stats
53+ WHERE wait_time_ms != 0
54+
55+ SELECT
56+ MAX (CASE WHEN sessions .status = ' preconnect' then counts else 0 end) AS preconnect,
57+ MAX (CASE WHEN sessions .status = ' background' then counts else 0 end) AS background,
58+ MAX (CASE WHEN sessions .status = ' dormant' then counts else 0 end) AS dormant,
59+ MAX (CASE WHEN sessions .status = ' runnable' then counts else 0 end) AS runnable,
60+ MAX (CASE WHEN sessions .status = ' suspended' then counts else 0 end) AS suspended,
61+ MAX (CASE WHEN sessions .status = ' running' then counts else 0 end) AS running,
62+ MAX (CASE WHEN sessions .status = ' blocked' then counts else 0 end) AS blocked,
63+ MAX (CASE WHEN sessions .status = ' sleeping' then counts else 0 end) AS sleeping
64+ FROM (SELECT status, count (* ) counts FROM (
65+ SELECT CASE WHEN req .status IS NOT NULL THEN
66+ CASE WHEN req .blocking_session_id <> 0 THEN ' blocked' ELSE req .status END
67+ ELSE sess .status END status, req .blocking_session_id
68+ FROM sys .dm_exec_sessions sess
69+ LEFT JOIN sys .dm_exec_requests req
70+ on sess .session_id = req .session_id
71+ WHERE sess .session_id > 50 ) statuses
72+ GROUP BY status) sessions
73+
74+ select Sum (total_bytes) AS total_disk_space from (
75+ select DISTINCT
76+ dovs .volume_mount_point ,
77+ dovs .available_bytes available_bytes,
78+ dovs .total_bytes total_bytes
79+ FROM sys .master_files mf
80+ CROSS APPLY sys .dm_os_volume_stats (mf .database_id , mf .FILE_ID ) dovs
81+ ) drives
82+
83+ select SUM (runnable_tasks_count) AS runnable_tasks_count
84+ from sys .dm_os_schedulers
85+ WHERE scheduler_id < 255 AND [status] = ' VISIBLE ONLINE'
86+
87+ SELECT SUM (db .buffer_pool_size ) as instance_buffer_pool_size from (
88+ SELECT
89+ COUNT_BIG(* ) * (8 * 1024 ) AS buffer_pool_size
90+ FROM sys .dm_os_buffer_descriptors WITH (NOLOCK)
91+ WHERE database_id <> 32767 -- ResourceDB
92+ GROUP BY database_id) db
93+
94+ SELECT SUM (db .active_connections ) as instance_active_connections from (
95+ SELECT
96+ COUNT (syssp .dbid ) AS active_connections
97+ FROM sys .databases db WITH (NOLOCK)
98+ LEFT JOIN sys .sysprocesses syssp WITH (NOLOCK) ON syssp .dbid = db .database_id
99+ GROUP BY db .name ) db
100+
101+ select
102+ MAX (sys_mem .total_physical_memory_kb * 1024 .0 ) AS total_physical_memory,
103+ MAX (sys_mem .available_physical_memory_kb * 1024 .0 ) AS available_physical_memory,
104+ (Max (proc_mem .physical_memory_in_use_kb ) / (Max (sys_mem .total_physical_memory_kb ) * 1 .0 )) * 100 as memory_utilization
105+ FROM sys .dm_os_process_memory proc_mem,
106+ sys .dm_os_sys_memory sys_mem,
107+ sys .dm_os_performance_counters perf_count WHERE object_name = ' SQLServer:Memory Manager'
0 commit comments