2011-02-16 11 views

cevap

12
DECLARE @cntr_value bigint 

SELECT @cntr_value = cntr_value 
    FROM sys.dm_os_performance_counters 
    WHERE counter_name = 'transactions/sec' 
     AND object_name = 'SQLServer:Databases' 
     AND instance_name = 'YourDatabase' 

WAITFOR DELAY '00:00:01' 

SELECT cntr_value - @cntr_value 
    FROM sys.dm_os_performance_counters 
    WHERE counter_name = 'transactions/sec' 
     AND object_name = 'SQLServer:Databases' 
     AND instance_name = 'YourDatabase' 
+0

Bunu çalıştırdığımda 426836 değerini alıyorum. Saniyede işlemler bu mu? Oldukça yüksek görünüyor. – izip

+0

@izip: "Saniye başına" sayaçların değeri birikimlidir. Bu zaman aralığına ait işlem sayısını elde etmek için sabit bir zaman aralığı için iki değerin farkını almanız gerekir. Cevabımı güncelleyeceğim. –

+0

Teşekkürler, bu daha makul görünüyor 10 gibi geldi! – izip

0

prosedürler https://www.brentozar.com/askbrent/ döndürür diğer büyük pek çok bilgi ile birlikte veritabanı düzeyinde bu bilgilerin yer sp_BlitzFirst. Aşağıdaki gibi basit bir çağrı, 5 saniye boyunca ne olduğunu size gösterecektir.

EXEC dbo.sp_BlitzFirst @ExpertMode = 1, @seconds = 5;