Πώς μπορούμε να δούμε τι CPU Usage είχαμε ανά λεπτό στον SQL Server

Πώς μπορούμε να δούμε τι CPU Usage είχαμε ανά λεπτό στον SQL Server
Πώς μπορούμε να δούμε τι CPU Usage είχαμε ανά λεπτό στον SQL Server

Ο SQL Server κατά την εγκατάσταση του δημιουργεί ένα lightweight Extended Event με μέγεθος έως 5mb στο οποίο καταγράφει πληροφοριές για το performance. Αυτό το Extended Event ονομάζεται system_health και σε αυτό το άρθρο θα δούμε πως μπορούμε με ένα απλό query να δούμε τι CPU Usage είχαμε στον server ανά λεπτό.

Δεν πρέπει να ξεχνάμε όμως ότι οι πληροφορίες γίνονται rollover και επικαλύπτονται με καινούργια data. Οπότε το χρονικό διάστημα που μπορούμε να δούμε στο παρελθόν δεν είναι πολύ μεγάλο.

Ο κώδικας

Το μόνο που χρειάζεται να κάνουμε είναι σε ένα query window να τρέξουμε τον παρακάτω κώδικά:

SELECT time,100-record.value('(./Record/SchedulerMonitorEvent/SystemHealth/SystemIdle)[1]', 'INT') as 'Cpu Usage %'
          FROM ( 
                SELECT CONVERT(xml, record) AS [record],dateadd (ms,timestamp - (select ms_ticks from sys.dm_os_sys_info),getdate()) as 'Time'
				FROM sys.dm_os_ring_buffers
                WHERE ring_buffer_type = N'RING_BUFFER_SCHEDULER_MONITOR'
                AND record LIKE '%<SystemHealth>%'
			    order by time desc) AS x 

Το αποτέλεσμα που θα μας επιστρέψει είναι το CPU Usage που είχαμε ανά λεπτό:

Πώς μπορούμε να δούμε τι CPU Usage είχαμε ανά λεπτό στον SQL Server
01

Πηγές:

Μοιράσου το

Αφήστε μία απάντηση