sql >> データベース >  >> RDS >> Sqlserver

SQLServer待機イベント-1

    こんにちは、

    どの待機イベントがSQLServerデータベースにあるかを確認する必要があります。

    SQL Serverデータベースの速度低下を解決するには、データベースに存在する待機イベントを見つける必要があります。

    次のクエリでデータベースの待機イベントを見つけることができます。

    with waits as
    (select
    wait_type,
    wait_time_ms / 1000.0 as waits,
    (wait_time_ms - signal_wait_time_ms) / 1000.0 as resources,
    signal_wait_time_ms / 1000.0 as signals,
    waiting_tasks_count as waitcount,
    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'CLR_SEMAPHORE', N'LAZYWRITER_SLEEP',
    N'RESOURCE_QUEUE', N'SQLTRACE_BUFFER_FLUSH',
    N'SLEEP_TASK', N'SLEEP_SYSTEMTASK',
    N'WAITFOR', N'HADR_FILESTREAM_IOMGR_IOCOMPLETION',
    N'CHECKPOINT_QUEUE', N'REQUEST_FOR_DEADLOCK_SEARCH',
    N'XE_TIMER_EVENT', N'XE_DISPATCHER_JOIN',
    N'LOGMGR_QUEUE', N'FT_IFTS_SCHEDULER_IDLE_WAIT',
    N'BROKER_TASK_STOP', N'CLR_MANUAL_EVENT',
    N'CLR_AUTO_EVENT', N'DISPATCHER_QUEUE_SEMAPHORE',
    N'TRACEWRITE', N'XE_DISPATCHER_WAIT',
    N'BROKER_TO_FLUSH', N'BROKER_EVENTHANDLER',
    N'FT_IFTSHC_MUTEX', N'SQLTRACE_INCREMENTAL_FLUSH_SLEEP',
    N'DIRTY_PAGE_POLL', N'SP_SERVER_DIAGNOSTICS_SLEEP')
    )
    select
    w1.wait_type as waittype, 
    cast (w1.waits as decimal(14, 2)) wait_s,
    cast (w1.resources as decimal(14, 2)) resource_s,
    cast (w1.signals as decimal(14, 2)) signal_s,
    w1.waitcount wait_count,
    cast (w1.percentage as decimal(4, 2)) percentage,
    cast ((w1.waits / w1.waitcount) as decimal (14, 4)) avgWait_s,
    cast ((w1.resources / w1.waitcount) as decimal (14, 4)) avgResource_s,
    cast ((w1.signals / w1.waitcount) as decimal (14, 4)) avgSignal_s
    from waits as w1
    inner join waits as w2 on w2.rownum <= w1.rownum
    group by w1.rownum, w1.wait_type, w1.waits, w1.resources, w1.signals, w1.waitcount, w1.percentage
    having sum (w2.percentage) - w1.percentage < 95; -- percentage threshold


    1. 元キャップジェミニエグゼクティブのSunithaRayがScaleGridDBaaSに参加し、エンタープライズセールスを拡大

    2. MySQLに関するトップ10の興味深い事実とヒント

    3. MariaDBのINSTR()とLOCATE()の違い

    4. SQL Serverでリンクされたデータベースサーバーを作成してクエリするにはどうすればよいですか?