Skip to content

Commit a197af5

Browse files
authored
Add files via upload
1 parent ed0bac2 commit a197af5

18 files changed

+3254
-0
lines changed

Diff for: Scripts/CPU_Utilization.sql

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
/*
2+
Author: Benjamin Nevarez
3+
Original link: http://sqlblog.com/blogs/ben_nevarez/archive/2009/07/26/getting-cpu-utilization-data-from-sql-server.aspx
4+
*/
5+
6+
7+
DECLARE @ts_now BIGINT;
8+
9+
SELECT @ts_now = cpu_ticks / CONVERT(FLOAT, cpu_ticks)
10+
FROM sys.dm_os_sys_info;
11+
12+
SELECT record_id
13+
, Dateadd(ms, -1 * ( @ts_now - [timestamp])
14+
, Getdate()) AS EventTime
15+
, sqlprocessutilization
16+
, systemidle
17+
, 100 - systemidle - sqlprocessutilization AS OtherProcessUtilization
18+
FROM (SELECT record.value('(./Record/@id)[1]', 'int') AS record_id
19+
, record.value('(./Record/SchedulerMonitorEvent/SystemHealth/SystemIdle)[1]', 'int') AS SystemIdle
20+
, record.value('(./Record/SchedulerMonitorEvent/SystemHealth/ProcessUtilization)[1]', 'int') AS SQLProcessUtilization
21+
, timestamp
22+
FROM (SELECT timestamp
23+
, CONVERT(XML, record) AS record
24+
FROM sys.dm_os_ring_buffers
25+
WHERE ring_buffer_type = N'RING_BUFFER_SCHEDULER_MONITOR'
26+
AND record LIKE '%<SystemHealth>%') AS x) AS y
27+
ORDER BY record_id DESC;

Diff for: Scripts/CPU_Utilization_Graphical_form.sql

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
/*
2+
Author: Slava Murygin
3+
Original link: http://slavasql.blogspot.ru/2016/03/sql-server-cpu-utilization-in-graphical.html
4+
*/
5+
6+
DECLARE @gc VARCHAR(MAX), @gi VARCHAR(MAX);
7+
WITH BR_Data as (
8+
SELECT timestamp, CONVERT(XML, record) as record
9+
FROM sys.dm_os_ring_buffers
10+
WHERE ring_buffer_type = N'RING_BUFFER_SCHEDULER_MONITOR' and record like '%<SystemHealth>%'
11+
), Extracted_XML as (
12+
SELECT timestamp, record.value('(./Record/@id)[1]', 'int') as record_id,
13+
record.value('(./Record/SchedulerMonitorEvent/SystemHealth/SystemIdle)[1]', 'bigint') as SystemIdle,
14+
record.value('(./Record/SchedulerMonitorEvent/SystemHealth/ProcessUtilization)[1]', 'bigint') as SQLCPU
15+
FROM BR_Data
16+
), CPU_Data as (
17+
SELECT record_id, ROW_NUMBER() OVER(ORDER BY record_id) as rn,
18+
dateadd(ms, -1 * ((SELECT ms_ticks FROM sys.dm_os_sys_info) - [timestamp]), GETDATE()) as EventTime,
19+
SQLCPU, SystemIdle, 100 - SystemIdle - SQLCPU as OtherCPU
20+
FROM Extracted_XML )
21+
SELECT @gc = CAST((SELECT CAST(d1.rn as VARCHAR) + ' ' + CAST(d1.SQLCPU as VARCHAR) + ',' FROM CPU_Data as d1 ORDER BY d1.rn FOR XML PATH('')) as VARCHAR(MAX)),
22+
@gi = CAST((SELECT CAST(d1.rn as VARCHAR) + ' ' + CAST(d1.OtherCPU as VARCHAR) + ',' FROM CPU_Data as d1 ORDER BY d1.rn FOR XML PATH('')) as VARCHAR(MAX))
23+
OPTION (RECOMPILE);
24+
25+
SELECT CAST('LINESTRING(' + LEFT(@gc,LEN(@gc)-1) + ')' as GEOMETRY), 'SQL CPU %' as Measure
26+
UNION ALL
27+
SELECT CAST('LINESTRING(1 100,2 100)' as GEOMETRY), ''
28+
UNION ALL
29+
SELECT CAST('LINESTRING(' + LEFT(@gi,LEN(@gi)-1) + ')' as GEOMETRY), 'Other CPU %';

Diff for: Scripts/Cached_Data_Per_Object_in_Memory.sql

+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
/*
2+
<documentation>
3+
<summary>List Cached Data Per Object in Memory</summary>
4+
<returns>1 data set: list Cached Data Per Object in Memory.</returns>
5+
<issues>No</issues>
6+
<author>Pinal Dave</author>
7+
<created>2021-03-31</created>
8+
<modified>2021-03-31 by Konstantin Taranov</modified>
9+
<version>1.0</version>
10+
<sourceLink>https://github.com/ktaranov/sqlserver-kit/blob/master/Scripts/Cached_Data_Per_Object_in_Memory.sql</sourceLink>
11+
<originalLink>https://blog.sqlauthority.com/2021/03/31/sql-server-cached-data-per-object-in-memory/</originalLink>
12+
</documentation>
13+
*/
14+
15+
SELECT COUNT (1) * 8 / 1024 AS MBUsed,
16+
OBJECT_SCHEMA_NAME(object_id) SchemaName,
17+
name AS TableName, index_id
18+
FROM sys.dm_os_buffer_descriptors AS bd
19+
INNER JOIN
20+
(
21+
SELECT object_name(object_id) AS name
22+
,index_id ,allocation_unit_id, object_id
23+
FROM sys.allocation_units AS au
24+
INNER JOIN sys.partitions AS p
25+
ON au.container_id = p.hobt_id
26+
AND (au.type = 1 OR au.type = 3)
27+
UNION ALL
28+
SELECT object_name(object_id) AS name
29+
,index_id, allocation_unit_id, object_id
30+
FROM sys.allocation_units AS au
31+
INNER JOIN sys.partitions AS p
32+
ON au.container_id = p.partition_id
33+
AND au.type = 2
34+
) AS obj
35+
ON bd.allocation_unit_id = obj.allocation_unit_id
36+
WHERE database_id = DB_ID()
37+
GROUP BY OBJECT_SCHEMA_NAME(object_id), name, index_id
38+
ORDER BY COUNT (*) * 8 / 1024 DESC;
39+
GO

0 commit comments

Comments
 (0)