ほのぼの C#開発

開発の基礎から、現場で使用できるC#を掲載していきます。

SQLServer TempDbのラッチ状況

TempDBについて

SQLサーバーでTempDbを使用すると、サイズが足りない場合に自動的に拡張します。

その際に、ラッチ(オブジェクトの保護)が発生して、他の処理が待機状態になる可能性があります。

 

ラッチは、SQLサーバーの利用モニタで確認できます。

ラッチ状況の確認SQL 

SELECT 
        CASE 
            WHEN [wait_type] LIKE N'LATCH%'     THEN N'Non_Buffer_Latch'
            WHEN [wait_type] LIKE N'PAGELATCH%' THEN N'Buffer_Latch'
            WHEN [wait_type] LIKE N'PAGEIOLATCH%'   THEN N'Buffer_Latch'
        END AS [type]
        ,* 
    FROM sys.dm_os_wait_stats
    WHERE  [wait_type] LIKE N'LATCH%' 
      OR    [wait_type] LIKE N'PAGELATCH%' 
      OR    [wait_type] LIKE N'PAGEIOLATCH%'