SQL Server Wait Statistics Verilerine Erişme ve SQL Ops ile Görüntüleme

SQL Server yeni Managemetn Studio olarak nitelendirilen SQL Operation Studio yu kullanarak veritabanımız üzerinde aşağıda hazırlamış olduğum wait type yani veritabanımızın en çok nerede beklediğini veren scriptimizi exec ettik ve çıkan sonuçta Operation studio nun özelliklerinden olan Chart ı kullanrak grafiksel olarak veritabanı bekelememizi daha net görmüş olduk.

 

Scriptimizin sonucunda görüyoruz ki büyük bir bekleme IO katmanında oluyormuş.IO_COMPLETION veri tipinde ortamımız bekleme yapıyor. Bu ve bunu gibi veri tiplerini kısa zamanda ele alacağım. Aşağıda sonucu Pie Chart olarak verdik .

Birde aynı sonucu HorizontalBar olarak görmek istersek sağ tarafta ki Char Type dan değişiklik yapıp görebiliriz.

 

Script :

WITH
    [Waits]
    AS
    (
        SELECT [wait_type], 100.0 * [wait_time_ms] / SUM ([wait_time_ms]) OVER() AS [Percentage], ROW_NUMBER() OVER(ORDER BY [wait_time_ms] DESC) AS [RowNum]
        FROM sys.dm_os_wait_stats
        WHERE [wait_type] NOT IN (
        N'BROKER_EVENTHANDLER', 
        N'BROKER_RECEIVE_WAITFOR', 
        N'BROKER_TASK_STOP', 
        N'BROKER_TO_FLUSH', 
        N'BROKER_TRANSMITTER', 
        N'CHECKPOINT_QUEUE', 
        N'CHKPT', 
        N'CLR_AUTO_EVENT', 
        N'CLR_MANUAL_EVENT', 
        N'CLR_SEMAPHORE', 
        N'DBMIRROR_DBM_EVENT', 
        N'DBMIRROR_EVENTS_QUEUE', 
        N'DBMIRROR_WORKER_QUEUE', 
        N'DBMIRRORING_CMD', 
 
        N'DIRTY_PAGE_POLL',
        N'DISPATCHER_QUEUE_SEMAPHORE', 
        N'EXECSYNC',
        N'FSAGENT', 
        N'FT_IFTS_SCHEDULER_IDLE_WAIT', 
        N'FT_IFTSHC_MUTEX', 
        N'HADR_CLUSAPI_CALL', 
        N'HADR_FILESTREAM_IOMGR_IOCOMPLETION', 
        N'HADR_LOGCAPTURE_WAIT', 
        N'HADR_NOTIFICATION_DEQUEUE', 
        N'HADR_TIMER_TASK', 
        N'HADR_WORK_QUEUE', 
        N'KSOURCE_WAKEUP', 
        N'LAZYWRITER_SLEEP', 
        N'LOGMGR_QUEUE', 
        N'MEMORY_ALLOCATION_EXT', 
        N'ONDEMAND_TASK_QUEUE', 
        N'PREEMPTIVE_XE_GETTARGETSTATE',
        N'PWAIT_ALL_COMPONENTS_INITIALIZED', 
        N'PWAIT_DIRECTLOGCONSUMER_GETNEXT', 
        N'QDS_PERSIST_TASK_MAIN_LOOP_SLEEP', 
        N'QDS_ASYNC_QUEUE',
        N'QDS_CLEANUP_STALE_QUERIES_TASK_MAIN_LOOP_SLEEP',
        N'QDS_SHUTDOWN_QUEUE', 
        N'REDO_THREAD_PENDING_WORK', 
        N'REQUEST_FOR_DEADLOCK_SEARCH', 
        N'RESOURCE_QUEUE', 
        N'SERVER_IDLE_CHECK', 
        N'SLEEP_BPOOL_FLUSH', 
        N'SLEEP_DBSTARTUP', 
        N'SLEEP_DCOMSTARTUP', 
        N'SLEEP_MASTERDBREADY', 
        N'SLEEP_MASTERMDREADY', 
        N'SLEEP_MASTERUPGRADED',
        N'SLEEP_MSDBSTARTUP', 
        N'SLEEP_SYSTEMTASK',
        N'SLEEP_TASK', 
        N'SLEEP_TEMPDBSTARTUP', 
        N'SNI_HTTP_ACCEPT', 
        N'SP_SERVER_DIAGNOSTICS_SLEEP',
        N'SQLTRACE_BUFFER_FLUSH',
        N'SQLTRACE_INCREMENTAL_FLUSH_SLEEP', 
        N'SQLTRACE_WAIT_ENTRIES', 
        N'WAIT_FOR_RESULTS',
        N'WAITFOR', 
        N'WAITFOR_TASKSHUTDOWN', 
        N'WAIT_XTP_RECOVERY', 
        N'WAIT_XTP_HOST_WAIT', 
        N'WAIT_XTP_OFFLINE_CKPT_NEW_LOG', 
        N'WAIT_XTP_CKPT_CLOSE', 
        N'XE_DISPATCHER_JOIN',
        N'XE_DISPATCHER_WAIT', 
        N'XE_TIMER_EVENT' 
        ) AND [waiting_tasks_count] > 0
    )
SELECT MAX ([W1].[wait_type]) AS [WaitType], CAST (MAX ([W1].[Percentage]) AS DECIMAL (5,2)) AS [Percentage]
FROM [Waits] AS [W1] INNER JOIN [Waits] AS [W2] ON [W2].[RowNum] <= [W1].[RowNum]
GROUP BY [W1].[RowNum]
HAVING SUM ([W2].[Percentage]) - MAX( [W1].[Percentage] ) < 95; 
GO

SQL Server Operation Studio ile ilgil diğer makalelerimi aşağıda ki linklerden erişebilirsiniz.

 

SQL Operations Studio – Chart Viewer Kullanımı

SQL Server Operations Studio (Preview) Sürümü Yayınlandı.

Kolay Gelsin.

Leave a Reply

Your email address will not be published. Required fields are marked *