Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Загрузка сервера  [new]
Esentuki
Member

Откуда:
Сообщений: 88
Здравствуйте, Существует ли способ узнать процентную загрузку сервера??
Спасибо
ss 2005
12 сен 11, 09:38    [11262149]     Ответить | Цитировать Сообщить модератору
 Re: Загрузка сервера  [new]
gds
Member

Откуда: Железнодорожный
Сообщений: 1842
Блог
Esentuki
Здравствуйте, Существует ли способ узнать процентную загрузку сервера??
Спасибо
ss 2005

Да. perfmon.
12 сен 11, 10:14    [11262344]     Ответить | Цитировать Сообщить модератору
 Re: Загрузка сервера  [new]
Esentuki
Member

Откуда:
Сообщений: 88
gds
Да. perfmon.


а есть способ узнать загрузку, на текущий момент, не используя perfmon?
Например запросом, считав значение переменной???
12 сен 11, 14:10    [11263937]     Ответить | Цитировать Сообщить модератору
 Re: Загрузка сервера  [new]
komrad
Member

Откуда:
Сообщений: 5764
Esentuki
gds
Да. perfmon.


а есть способ узнать загрузку, на текущий момент, не используя perfmon?
Например запросом, считав значение переменной???


попробуй это :

set nocount on
set QUOTED_IDENTIFIER ON

declare @ts_now bigint
select @ts_now = cpu_ticks / convert(float, cpu_ticks_in_ms) from master.sys.dm_os_sys_info

select 
convert(varchar(30),@@servername) as 'ServerName',
q.record_id as 'RecordID',
left(replace(convert(varchar(20),q.EventTime,113),' ','_'),20) as 'EventTime',
q.SQLProcessUtilization,
q.SystemIdle,
q.OtherProcessUtilization
from (	
	select top 120  record_id,
		dateadd(ms, -1 * (@ts_now - [timestamp]), GetDate()) as EventTime, 
		SQLProcessUtilization,
		SystemIdle,
		100 - SystemIdle - SQLProcessUtilization as OtherProcessUtilization
	from (
		select 
			record.value('(./Record/@id)[1]', 'int') as record_id,
			record.value('(./Record/SchedulerMonitorEvent/SystemHealth/SystemIdle)[1]', 'int') as SystemIdle,
			record.value('(./Record/SchedulerMonitorEvent/SystemHealth/ProcessUtilization)[1]', 'int') as SQLProcessUtilization,
			timestamp
		from (			select timestamp, convert(xml, record) as record 
			from master.sys.dm_os_ring_buffers 
			where ring_buffer_type = N'RING_BUFFER_SCHEDULER_MONITOR'
			and record like '%<SystemHealth>%') as x
		) as y 
	order by record_id desc ) as q 
where q.EventTime >= dateadd(hh,-1+datepart(hh,getdate()),convert(varchar(20),getdate(),112))
and q.EventTime < dateadd(hh,datepart(hh,getdate()),convert(varchar(20),getdate(),112))
go
12 сен 11, 14:19    [11264015]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить