次の方法で共有


sys.dm_os_wait_stats (Transact-SQL)

実行されたスレッドにより検出されたすべての待機に関する情報を返します。この集計ビューを使用して、SQL Server および特定のクエリとバッチに関するパフォーマンスの問題を診断できます。

列名

データ型

説明

wait_type

nvarchar(60)

待機の種類の名前。

waiting_tasks_count

bigint

この待機の種類における待機の数。このカウンターは、待機が開始するたび増加します。

wait_time_ms

bigint

この待機の種類における総待機時間 (ミリ秒単位)。この時間には、signal_wait_time_ms が含まれます。

max_wait_time_ms

bigint

この待機の種類における最大待機時間。

signal_wait_time_ms

bigint

待機スレッドがシグナルを受け取ってから実行を開始するまでの時間。

権限

サーバーに対する VIEW SERVER STATE 権限が必要です。

説明

待機の種類

  • リソース待機
    リソース待機は、ワーカーがリソースへのアクセスを要求したときに、そのリソースが他のワーカーによって使用されているか、まだ準備ができておらず、使用できない場合に発生します。リソース待機の例としては、ロック、ラッチ、ネットワークおよびディクス I/O 待機があります。ロック待機およびラッチ待機は、同期オブジェクトで発生する待機です。

  • キュー待機
    キュー待機は、ワーカーが作業割り当ての待機でアイドル状態となっている場合に発生します。キュー待機は、デッドロック監視のようなシステム バックグラウンド タスクや、削除されたレコードのクリーンアップ タスクで最も多く発生します。これらのタスクは、作業要求が作業キューに配置されるまで待機します。キュー待機は、新しいパケットがキューに配置されていない場合でも、定期的にアクティブになることがあります。

  • 外部待機
    外部待機は、SQL Server ワーカーが、拡張ストアド プロシージャの呼び出しやリンク サーバー クエリなどの外部イベントの終了を待機しているときに発生します。ブロッキングの問題を診断するときには、外部待機が発生していてもワーカーがアイドル状態になっているとは限らないことに注意してください。ワーカーはアクティブ状態で外部コードを実行している可能性があるためです。

sys.dm_os_wait_stats では、既に終わった待機時間が示されます。この動的管理ビューでは、現在待機中の待機時間は示されません。

次のいずれかに該当する場合、SQL Server ワーカー スレッドは待機中とは見なされません。

  • リソースが使用可能になった。

  • キューが空でない。

  • 外部プロセスが終了した。

スレッドは、待機中でなくなってもすぐに実行を開始する必要はありません。このようなスレッドは、最初に実行可能なワーカーのキューに配置された後、スケジューラに従って実行するために、クォンタムの間待機する必要があります。

SQL Server では、待機時間のカウンターは bigint 値であり、したがって以前のバージョンの SQL Server にあった同等のカウンターほどカウンターのロールオーバーは発生しません。

クエリ実行中に発生している待機時間の種類によって、クエリにボトルネックや機能停止ポイントがあるかどうかを判断できます。また、サーバー全体の待機時間や待機カウントが高い値を示している場合は、サーバー インスタンス内の対話型クエリの対話にボトルネックまたはホット スポットが存在していることを表しています。たとえば、ロック待機の場合はクエリによるデータ競合、ページ I/O ラッチ待機の場合は遅い I/O 反応時間、ページ ラッチ更新待機の場合は不正なファイル レイアウトが存在していると判断できます。

この動的管理ビューの内容は、次のコマンドを実行してリセットできます。

DBCC SQLPERF ('sys.dm_os_wait_stats', CLEAR);
GO

このコマンドではすべてのカウンターが 0 にリセットされます。

注意注意

これらの統計は、SQL Server を再起動すると消去されます。すべてのデータは、統計が最後にリセットされてから、またはサーバーが最後に起動されてからの累積データです。

次の表は、タスクで発生する待機の種類の一覧です。

待機の種類

説明

ABR

単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。

ASSEMBLY_LOAD

アセンブリ読み込みへの排他アクセス時に発生します。

ASYNC_DISKPOOL_LOCK

ファイルの作成や初期化などのタスクを実行している並列スレッドを同期しようとすると発生します。

ASYNC_IO_COMPLETION

タスクが I/O の終了を待機しているときに発生します。

ASYNC_NETWORK_IO

ネットワークの書き込みでタスクがブロックされているときに発生します。クライアントがサーバーからのデータを処理しているかどうかを確認してください。

AUDIT_GROUPCACHE_LOCK

特殊なキャッシュへのアクセスを制御するロックに待機があるときに発生します。このキャッシュには、各監査アクション グループの監査に使用されている監査報告書についての情報が格納されます。

AUDIT_LOGINCACHE_LOCK

特殊なキャッシュへのアクセスを制御するロックに待機があるときに発生します。このキャッシュには、ログイン監査アクション グループの監査に使用されている監査報告書についての情報が格納されます。

AUDIT_ON_DEMAND_TARGET_LOCK

ロックに待機があるときに発生します。このロックは、監査に関係する拡張イベントのターゲットを確実に単独で初期化できるようにするために使用されるものです。

AUDIT_XE_SESSION_MGR

ロックに待機があるときに発生します。このロックは、監査に関係する拡張イベントのセッションの開始と終了を同期するために使用されるものです。

BACKUP

バックアップ処理の一部としてタスクがブロックされているときに発生します。

BACKUP_OPERATOR

タスクがテープのマウントを待機しているときに発生します。テープの状態を表示するには、sys.dm_io_backup_tapes にクエリを実行します。マウント操作が保留中以外のときに、この待機が発生した場合は、テープ ドライブにハードウェア上の問題があると考えられます。

BACKUPBUFFER

バックアップ タスクが、データまたはデータを格納するバッファーを待機しているときに発生します。この待機は、タスクがテープのマウントを待機しているとき以外はほとんど発生しません。

BACKUPIO

バックアップ タスクが、データまたはデータを格納するバッファーを待機しているときに発生します。この待機は、タスクがテープのマウントを待機しているとき以外はほとんど発生しません。

BACKUPTHREAD

タスクがバックアップ タスクの終了を待機しているときに発生します。待機時間の長さは、数分から数時間に及ぶ場合があります。待機中のタスクが I/O 処理中である場合は、この待機が発生しても問題はありません。

BAD_PAGE_PROCESS

問題があると考えられるバックグラウンドのページ ロガーが、5 秒間隔より頻繁な実行を回避しようとする場合に発生します。問題があると考えられるページが多くある場合、ロガーは頻繁に実行されます。

BROKER_CONNECTION_RECEIVE_TASK

接続エンドポイントでメッセージを受信するためアクセスを待機しているときに発生します。エンドポイントへの受信アクセスはシリアル化されます。

各 Service Broker (およびデータベース ミラーリング) の接続エンドポイントでは、ネットワークからデータを受信するバッファーの一覧を保持しています。この一覧は 2 つのスレッドで処理されます。1 つはデータを受信するバッファーを通知し、もう 1 つはデータの受信後にバッファーを処理します。具体的には、この待機はスレッドがバッファーを追加または削除するために一覧にアクセスしようとしたときに発生します。

この待機の値を解釈するときは、次のガイドラインを使用してください。

  • waiting_tasks_count と wait_time_ms は、Service Broker (およびデータベース ミラーリング) のすべての接続エンドポイントで受信されるネットワーク データの量に比例します。 

  • avg_wait_time_ms は、非常に小さな値になります。

BROKER_ENDPOINT_STATE_MUTEX

Service Broker またはデータベース ミラーリングの接続エンドポイントの状態へのアクセスが競合しているときに発生します。変更の状態へのアクセスはシリアル化されます。

具体的には、この待機は次の条件下で発生します。

  • 接続の確立 ("ハンドシェイク") フェーズ中に、Service Broker またはデータベース ミラーリングの接続エンドポイントの状態が変更されるたびに発生します。 

  • 各接続のハンドシェイク状態へのアクセスをシリアル化するために、sys.dm_broker_connections または sys.dm_db_mirroring_connections 動的管理ビュー (DMV) に対してクエリを実行するたびに発生します。この場合、この待機が接続エンドポイントごとに発生することに注意してください。

この待機の値を解釈するときは、次のガイドラインを使用してください。

  • avg_wait_time_ms は非常に小さな値になります。

  • wait_time_ms と waiting_tasks_count の値は、Service Broker またはデータベース ミラーリングが SQL Server の別のインスタンスとの接続を確立する回数と、sys.dm_broker_connections または sys.dm_db_mirroring_connections DMV に対してクエリを実行する回数に比例します。

  • wait_time_ms と waiting_tasks_count の値が急速に増加している場合は、接続の確立と解除の頻度が高いことを示していると考えられます。Service Broker トランスポートは無通信状態になってから約 90 秒後に接続を解除するため、アプリケーションが約 90 秒間隔で Service Broker を使用している場合、これらの値が増加する可能性があります。

BROKER_EVENTHANDLER

Service Broker のプライマリ イベント ハンドラーで、タスクが次のいずれかを待機しているときに発生します。

  • インスタンスの起動またはシャットダウン

  • ダイアログ タイマー イベント (ダイアログのタイムアウトなど)

  • ミラー化されたルートのタイムアウト

この待機が発生するのはごく短時間です。

SQL Server の各インスタンスは、Service Broker の起動、シャットダウン、およびタイマー イベントを処理するためのプライマリ イベント ハンドラー スレッドを保持します。このスレッドは常に存在し、これらのイベントを待機または処理しています。

この待機の値を解釈するときは、次のガイドラインを使用してください。

  • wait_time_ms は、SQL Server のインスタンスが起動してからの経過時間とほぼ同じです。

  • waiting_tasks_count は、処理するイベントがないためにプライマリ イベント ハンドラーが待機を要した回数を示します。

これらのフィールドはいずれも、パフォーマンスの問題を示しているわけではありません。

Service Broker を (直接またはデータベース メールやイベント通知によって) 使用していない場合は、次のようになります。

  • max_wait_time_ms と wait_time_ms はほぼ同じになります。

  • waiting_tasks_count は、非常に小さな値になります。

BROKER_INIT

各アクティブ データベースで Service Broker を初期化するときに発生します。この待機は、発生頻度の低い待機です。

この待機は、Service Broker がデータベースの内部ブローカー マネージャーの初期化に失敗するたびに発生します。Service Broker は、同じデータベースに対して再試行を開始するまで約 1 秒待機します。

この待機の値を解釈するときは、次のガイドラインを使用してください。

  • waiting_tasks_count は、Service Broker がデータベースのブローカーの初期化に失敗した回数です。waiting_tasks_count の値が大きい場合や増加している場合は、SQL Server のインスタンスに問題があることを示しています。

  • wait_time_ms は waiting_tasks_count に比例します。

  • avg_wait_time_ms は約 1 秒です。

BROKER_MASTERSTART

タスクが Service Broker のプライマリ イベント ハンドラーの起動を待機しているときに発生します。この待機は、インスタンスの起動中に、Service Broker が master データベースの起動を待機しているときにごく短時間発生します。

この待機の値を解釈するときは、次のガイドラインを使用してください。

  • waiting_tasks_count は 1 になります。

  • wait_time_ms は非常に小さな値になります。

BROKER_RECEIVE_WAITFOR

RECEIVE WAITFOR が待機しているときに発生します。これは、メッセージの受信準備ができていない場合によく起こります。

メッセージがユーザー キューに到着するまでステートメントの実行を待機する場合、この待機は WAITFOR RECEIVE Transact-SQL ステートメントごとに 1 回発生します。

この待機の値を解釈するときは、次のガイドラインを使用してください。

  • waiting_tasks_count は、WAITFOR RECEIVE ステートメントが実行された回数と同じです。

  • wait_time_ms は、メッセージが到着するまで、または各 WAITFOR RECEIVE ステートメントの WAITFOR のタイムアウトまで、ステートメントの実行を待機する必要があった時間の合計になります。

avg_wait_time_ms が予想よりもかなり大きな値である場合は、発信側と対象のサーバー インスタンスの両方でエラー ログと SQL Server Profiler イベントを調べて、問題が発生していないかどうかを確認します。

BROKER_REGISTERALLENDPOINTS

Service Broker またはデータベース ミラーリングの接続エンドポイントの初期化中に発生します。この待機は、インスタンスの起動中に、Service Broker がすべてのエンドポイントの型が登録されるのを待機するときにごく短時間発生します。

この待機の値を解釈するときは、次のガイドラインを使用してください。

  • waiting_tasks_count は 1 になります。

  • wait_time_ms は非常に小さな値になります。

BROKER_SERVICE

インスタンスのペアへのダイアログの追加または削除によって、発信先サービスとブローカー インスタンスのペアに関連付けられている Service Broker の次ホップ宛先一覧が更新されるか、優先順位が再設定されるときに発生します。 

Service Broker は、優先順位に従ってメッセージを次ホップの宛先に送信します。そのため、宛先一覧と優先順位の有効な変更へのアクセスがシリアル化されます。

この待機の値を解釈するときは、次のガイドラインを使用してください。

  • waiting_tasks_count と wait_time_ms は、Service Broker がこれらの内部構造へのアクセスをシリアル化しなければならなかった回数を示します。

  • avg_wait_time_ms は非常に小さな値になります。

BROKER_SHUTDOWN

Service Broker のシャットダウンが予定されている場合に発生します。この種の待機が発生するのはごく短時間です。

インスタンスのシャットダウンが既に開始されている場合を除き、waiting_tasks_count と wait_time_ms はいずれも 0 になります。インスタンスのシャットダウン時に、Service Broker はプライマリ イベント ハンドラーとすべての接続エンドポイントがシャットダウンするまで数秒待機します。

BROKER_TASK_STOP

内部タスクがないために、Service Broker キューのタスク ハンドラーのいずれかが停止するときに発生します。タスク ハンドラーは、タスクを実行するために再起動する必要がある場合に備えて、破棄されるまで最大 10 秒待機します。

Service Broker には、複数のタスク ハンドラーがあります。これらのハンドラーは、メッセージの転送に関連する内部タスクの実行、非同期ネットワーク操作、および受信メッセージの処理に使用されます。

使用頻度の高いシナリオでは、waiting_tasks_count と wait_time_ms の値はいずれも小さくなります。

Service Broker は、5 秒おきに内部クリーンアップ タスクをスケジュールします。Service Broker が使用されていない場合、このタスクでは処理がほとんど行われません。ただし、このタスクによってタスク ハンドラーのいずれかがウェイクアップして再起動し、タスクを実行した後、待機を開始します。そのため、Service Broker が使用されていない場合、値は次のようになります。

  • waiting_tasks_count と wait_time_ms は、SQL Server のインスタンスが起動してからの経過時間に比例して増加し続けます。 

  • avg_wait_time_ms は 5 秒近くになります。

BROKER_TO_FLUSH

Service Broker レイジー フラッシャーが、メモリ内転送オブジェクトを作業テーブルにフラッシュしたときに発生します。 転送オブジェクトとは、ダイアログのメッセージ転送状態を管理および記録するメモリ内オブジェクトです。

パフォーマンス上の理由から、Service Broker はすべての転送オブジェクトをメモリ内とディスク上の一時テーブルに保持します。転送オブジェクトは、更新されるたびに tempdb の一時テーブルにフラッシュされるようにスケジュールされています。Service Broker はこのジョブに "常に存続している" レイジー フラッシャー タスクを使用します。

Service Broker が使用されていない場合、値は次のようになります。

  • wait_time_ms と waiting_tasks_count は、SQL Server のインスタンスが起動してからの経過時間に比例します。

  • avg_wait_time_ms は約 1 秒です。

Service Broker が頻繁に使用されている場合、レイジー フラッシャーがビジー状態になるため、これらの列の値は小さくなります。

BROKER_TRANSMITTER

Service Broker 送信機能のスレッドがダイアログ メッセージの送信を待機しているときに発生します。

送信機能では、1 つ以上の接続エンドポイントを介してネットワーク上で送信される複数のダイアログのメッセージをスケジュールします。送信機能では、このために 2 つの専用スレッドを使用します。

waiting_tasks_count の値が大きい場合は、スレッドが断続的に処理を行っていることを示しています。これはパフォーマンスの問題を示しているわけではありません。

Service Broker が使用されていない場合、値は次のようになります。

  • waiting_tasks_count は 2 になります (送信機能の 2 つのスレッドに対応)。

  • wait_time_ms は、SQL Server のインスタンスが起動してからの実行時間の 2 倍になります。

BUILTIN_HASHKEY_MUTEX

この待機はインスタンスの起動後、内部データ構造の初期化中に発生することがあります。データ構造がいったん初期化されると、それ以降に再発生することはありません。

CHECK_PRINT_RECORD

単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。

CHECKPOINT_QUEUE

チェックポイント タスクが、次のチェックポイント要求を待機しているときに発生します。

CHKPT

サーバー起動時に発生し、チェックポイント スレッドに開始できることを伝えます。

CLEAR_DB

データベースの開閉など、データベースの状態を変更する操作時に発生します。

CLR_AUTO_EVENT

タスクが共通言語ランタイム (CLR) を実行中で、特定の自動イベントが開始されるのを待機しているときに発生します。待機は長時間になることが一般的で、問題はありません。

CLR_CRST

タスクが CLR を実行中で、重大なセクションが別のタスクによって現在使用されている場合、そのセクションを待機しているときに発生します。

CLR_JOIN

タスクが CLR を実行中で、別のタスクの終了を待機しているときに発生します。また、この待機状態は、タスク間の結合があるときに発生します。

CLR_MANUAL_EVENT

タスクが CLR を実行中で、特定の手動イベントが開始されるのを待機しているときに発生します。

CLR_MEMORY_SPY

データ構造のロック取得での待機中に発生します。このデータ構造は、CLR に由来するすべての仮想メモリ割り当てを記録するために使用されます。データ構造はロックされますが、それは並行アクセスがある場合でもデータの整合性を保持するためです。

CLR_MONITOR

タスクが CLR を実行中で、モニターのロックの取得を待機しているときに発生します。

CLR_RWLOCK_READER

タスクが CLR を実行中で、リーダー ロックを待機しているときに発生します。

CLR_RWLOCK_WRITER

タスクが CLR を実行中で、ライター ロックを待機しているときに発生します。

CLR_SEMAPHORE

タスクが CLR を実行中で、セマフォを待機しているときに発生します。

CLR_TASK_START

CLR タスクが完全に開始されるのを待機しているときに発生します。

CLRHOST_STATE_ACCESS

CLR ホストのデータ構造への排他アクセスを取得するのを待機する場合に発生します。この待機の種類が発生するのは、CLR ランタイムの設定時か設定解除時です。

CMEMTHREAD

タスクがスレッドセーフ メモリ オブジェクトで待機しているときに発生します。複数のタスクが同じメモリ オブジェクトからメモリを割り当てようとして競合が発生している場合、待機時間は長くなる可能性があります。

CXPACKET

クエリ プロセッサ交換反復子を同期しようとするときに発生します。この待機の種類で競合の発生が問題になる場合は、並列処理の次数を下げることを検討してください。

CXROWSET_SYNC

範囲の並列スキャン中に発生します。

DAC_INIT

専用管理者接続の初期化中に発生します。

DBMIRROR_DBM_EVENT

単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。

DBMIRROR_DBM_MUTEX

単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。

DBMIRROR_EVENTS_QUEUE

データベース ミラーリングがイベントの処理を待機しているときに発生します。

DBMIRROR_SEND

タスクが、ネットワーク層の通信バックログが消去されメッセージ送信できるようになるのを待機しているときに発生します。通信層が過負荷になり、データベース ミラーリング データのスループットに影響が生じ始めていることを表します。

DBMIRROR_WORKER_QUEUE

データベース ミラーリング ワーカー タスクが、次の作業の実行を待機していることを表します。

DBMIRRORING_CMD

タスクが、ログ レコードのディスクへのフラッシュを待機しているときに発生します。この待機状態は、長時間続くことが予想されます。

DEADLOCK_ENUM_MUTEX

SQL Server で複数のデッドロック検索が同時に実行されていないかどうかを、デッドロック モニターと sys.dm_os_waiting_tasks が確認しようとしたときに発生します。

DEADLOCK_TASK_SEARCH

このリソースでの待機時間が長い場合は、サーバーが sys.dm_os_waiting_tasks に加えて複数のクエリを実行したことにより、デッドロック モニターでデッドロック検索を実行できなくなっていることを示しています。この待機の種類は、デッドロック モニターにのみ使用されます。sys.dm_os_waiting_tasks 上でのクエリでは、DEADLOCK_ENUM_MUTEX を使用します。

DEBUG

Transact-SQL と CLR が内部同期のためデバッグしているときに発生します。

DISABLE_VERSIONING

一番最初のアクティブなトランザクションのタイムスタンプが、状態が変化し始めたときのタイムスタンプより後かどうかを確認するために、SQL Server がバージョン トランザクション マネージャーをポーリングしたときに発生します。最初のトランザクションのタイムスタンプが状態変化のタイムスタンプより後の場合、ALTER DATABASE ステートメントの実行前に開始されたスナップショット トランザクションはすべて終了しています。この待機状態は、SQL Server が ALTER DATABASE ステートメントを使用してバージョン管理を無効にするときに使用されます。

DISKIO_SUSPEND

外部バックアップがアクティブで、タスクがファイルへのアクセスを待機しているときに発生します。これは、ユーザー プロセスの待機が発生するたびに報告されます。1 つのユーザー プロセスの待機が 5 回を超えた場合は、外部バックアップの完了に時間がかかりすぎている可能性があります。

DISPATCHER_QUEUE_SEMAPHORE

ディスパッチャー プールのスレッドが、まだ多くの作業の処理を待機しているときに発生します。ディスパッチャーがアイドル状態の場合、この待機の種類の待機時間は長くなると予想されます。

DLL_LOADING_MUTEX

XML パーサー DLL が読み込まれるのを待機しているときに 1 回発生します。

DROPTEMP

一時オブジェクトの削除を試行して失敗した場合に、次の削除を試行するまでの間に発生します。この待機時間は、削除の試行が失敗するたびに指数関数的に増えます。

DTC

タスクが、状態遷移の管理に使用されるイベントで待機しているときに発生します。この待機状態によって、Microsoft 分散トランザクション コーディネーター (MS DTC) サービスが使用できなくなったという通知を SQL Server で受信した後で、MS DTC トランザクションの復旧が発生するタイミングが制御されます。

また、この待機状態によって、SQL Server が MS DTC トランザクションのコミットを開始するときに待機中になっているタスクを把握することができます。さらに、SQL Server が MS DTC のコミットの終了を待機しているときに待機中になっているタスクも把握することができます。

DTC_ABORT_REQUEST

MS DTC ワーカー セッションが、MS DTC トランザクションの所有権取得を待機しているときに発生します。MS DTC がトランザクションの所有権を取得した後、セッションはそのトランザクションをロールバックできます。一般に、セッションが待機するのは、そのトランザクションが別のセッションで使用されている場合です。

DTC_RESOLVE

複数のデータベースにまたがるトランザクションで、復旧タスクがトランザクションの結果を照会できるように master データベースを待機しているときに発生します。

DTC_STATE

内部の MS DTC グローバル状態オブジェクトに対する変更を保護するイベントで、タスクが待機しているときに発生します。この待機状態は非常に短い時間保持されます。

DTC_TMDOWN_REQUEST

MS DTC ワーカー セッションで、MS DTC サービスが使用できないという通知を SQL Server が受信したときに発生します。ワーカーはまず MS DTC 復旧プロセスの開始を待機し、次に、ワーカーが操作している分散トランザクションの結果取得を待機します。この待機は、MS DTC サービスとの接続が再度確立されるまで継続される場合があります。

DTC_WAITFOR_OUTCOME

MS DTC がアクティブになり、準備されたトランザクションの解決が可能になるのを、復旧タスクが待機しているときに発生します。

DUMP_LOG_COORDINATOR

メイン タスクが、サブタスクによるデータ生成を待機しているときに発生します。通常、この待機状態は発生しません。待機が長時間になる場合は、予期しないブロックが発生している可能性があり、サブタスクを調査する必要があります。

DUMPTRIGGER

単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。

EC

単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。

EE_PMOLOCK

ステートメントの実行時、特定の種類のメモリ割り当てを同期するときに発生します。

EE_SPECPROC_MAP_INIT

内部プロシージャ ハッシュ テーブルの作成における同期中に発生します。この待機は、SQL Server インスタンスの開始後、ハッシュ テーブルに最初にアクセスするときにのみ発生します。

ENABLE_VERSIONING

データベースがスナップショット分離が許可されている状態に移行できることを宣言するために、SQL Server が、このデータベースにおけるすべての更新トランザクションの終了を待機しているときに発生します。この待機状態は、SQL Server が ALTER DATABASE ステートメントを使用してスナップショット分離を有効にするときに使用されます。

ERROR_REPORTING_MANAGER

複数のエラー ログの初期化における同期中に発生します。

EXCHANGE

並列クエリの実行時、クエリ プロセッサ交換反復子での同期中に発生します。

EXECSYNC

並列クエリの実行時、交換反復子に関係のない領域での、クエリ プロセッサによる同期中に発生します。このような領域の例としては、ビットマップ、ラージ バイナリ オブジェクト (LOB)、スプール反復子などがあります。LOB では、この待機状態が頻繁に使用されることがあります。

EXECUTION_PIPE_EVENT_INTERNAL

バッチ実行のプロデューサー部とコンシューマー部との間で同期しているときに発生します。これらの部は接続コンテキストを通じて送信されます。

FAILPOINT

単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。

FCB_REPLICA_READ

スナップショット (または DBCC によって作成された一時スナップショット) のスパース ファイルの読み取りを同期するときに発生します。

FCB_REPLICA_WRITE

スナップショット (または DBCC によって作成された一時スナップショット) のスパース ファイルに対するページのプッシュまたはプルを同期するときに発生します。

FS_FC_RWLOCK

FILESTREAM ガベージ コレクターが次のいずれかを実行するために待機しているときに発生します。

  • ガベージ コレクションを無効にします (バックアップと復元で使用)。

  • FILESTREAM ガベージ コレクターを 1 サイクル実行します。

FS_GARBAGE_COLLECTOR_SHUTDOWN

FILESTREAM ガベージ コレクターがクリーンアップ タスクの完了を待機しているときに発生します。

FS_HEADER_RWLOCK

FILESTREAM データ コンテナーの FILESTREAM ヘッダーへのアクセスの取得を待機しているときに発生します。待機するのは、FILESTREAM ヘッダー ファイル (Filestream.hdr) の内容を読み取るかまたは更新するためです。

FS_LOGTRUNC_RWLOCK

次のいずれかを実行するために、FILESTREAM ログの切り捨てへのアクセスの取得を待機しているときに発生します。

  • FILESTREAM ログ (FSLOG) の切り捨てを一時的に無効にします (バックアップと復元で使用)。

  • FSLOG の切り捨てを 1 サイクル実行します。

FSA_FORCE_OWN_XACT

FILESTREAM ファイル I/O 操作が、関連付けられているトランザクションにバインドされる必要があるのに、別のセッションがそのトランザクションを現在所有している場合に発生します。

FSAGENT

FILESTREAM ファイル I/O 操作が、FILESTREAM エージェント リソースを待機しているときに発生します。このリソースは別のファイル I/O 操作が使用中です。

FSTR_CONFIG_MUTEX

別の FILESTREAM 機能の再構成が完了するのを待機しているときに発生します。

FSTR_CONFIG_RWLOCK

FILESTREAM 構成パラメーターへのアクセスのシリアル化を待機しているときに発生します。

FT_METADATA_MUTEX

単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。

FT_RESTART_CRAWL

一時的なエラーから復旧するために、正常と認識されている最後の時点からフルテキスト クロールを再開する必要があるときに発生します。この待機が発生した場合、その設定を現在処理中のワーカー タスクは、現在のステップを完了するか終了することを許可されます。

FULLTEXT GATHERER

フルテキスト操作の同期中に発生します。

GUARDIAN

単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。

HTTP_ENUMERATION

起動時に発生し、HTTP を開始するため HTTP エンドポイントを列挙します。

HTTP_START

接続が HTTP の初期化完了を待機しているときに発生します。

IMPPROV_IOWAIT

SQL Server が、一括読み込み I/O の終了を待機しているときに発生します。

INTERNAL_TESTING

単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。

IO_AUDIT_MUTEX

トレース イベント バッファーの同期中に発生します。

IO_COMPLETION

I/O 操作の完了を待機しているときに発生します。この待機の種類は通常、データ ページ以外の I/O を表します。データ ページ I/O の完了の待機は、PAGEIOLATCH_* の待機として表示されます。

IO_RETRY

I/O 操作 (ディスクの読み取り/書き込みなど) に失敗すると発生します。原因はリソース不足による再試行です。

IOAFF_RANGE_QUEUE

単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。

KSOURCE_WAKEUP

サービス コントロール タスクによって、サービス コントロール マネージャーからの要求を待機しているときに使用されます。待機は長時間になることが予想されますが、問題はありません。

KTM_ENLISTMENT

単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。

KTM_RECOVERY_MANAGER

単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。

KTM_RECOVERY_RESOLUTION

単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。

LATCH_DT

DT (破棄) ラッチを待機しているときに発生します。これには、バッファー ラッチまたはトランザクション マーク ラッチは含まれません。LATCH_* 待機の一覧は、sys.dm_os_latch_stats で確認できます。sys.dm_os_latch_stats では、LATCH_NL、LATCH_SH、LATCH_UP、LATCH_EX、および LATCH_DT の待機はグループ化されます。

LATCH_EX

EX (排他) ラッチを待機しているときに発生します。これには、バッファー ラッチまたはトランザクション マーク ラッチは含まれません。LATCH_* 待機の一覧は、sys.dm_os_latch_stats で確認できます。sys.dm_os_latch_stats では、LATCH_NL、LATCH_SH、LATCH_UP、LATCH_EX、および LATCH_DT の待機はグループ化されます。

LATCH_KP

KP (保持) ラッチを待機しているときに発生します。これには、バッファー ラッチまたはトランザクション マーク ラッチは含まれません。LATCH_* 待機の一覧は、sys.dm_os_latch_stats で確認できます。sys.dm_os_latch_stats では、LATCH_NL、LATCH_SH、LATCH_UP、LATCH_EX、および LATCH_DT の待機はグループ化されます。

LATCH_NL

単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。

LATCH_SH

SH (共有) ラッチを待機しているときに発生します。これには、バッファー ラッチまたはトランザクション マーク ラッチは含まれません。LATCH_* 待機の一覧は、sys.dm_os_latch_stats で確認できます。sys.dm_os_latch_stats では、LATCH_NL、LATCH_SH、LATCH_UP、LATCH_EX、および LATCH_DT の待機はグループ化されます。

LATCH_UP

UP (更新) ラッチを待機しているときに発生します。これには、バッファー ラッチまたはトランザクション マーク ラッチは含まれません。LATCH_* 待機の一覧は、sys.dm_os_latch_stats で確認できます。sys.dm_os_latch_stats では、LATCH_NL、LATCH_SH、LATCH_UP、LATCH_EX、および LATCH_DT の待機はグループ化されます。

LAZYWRITER_SLEEP

レイジー ライター タスクが一時中断されるときに発生します。待機中のバックグラウンド タスクで費やされた時間を測定することができます。ユーザーの機能停止を検索しているときには、この待機状態は考慮しないでください。

LCK_M_BU

タスクが一括更新 (BU) ロックの取得を待機しているときに発生します。ロックの互換性のマトリックスについては、「sys.dm_tran_locks (Transact-SQL)」を参照してください。

LCK_M_IS

タスクがインテント共有 (IS) ロックの取得を待機しているときに発生します。ロックの互換性のマトリックスについては、「sys.dm_tran_locks (Transact-SQL)」を参照してください。

LCK_M_IU

タスクがインテント更新 (IU) ロックの取得を待機しているときに発生します。ロックの互換性のマトリックスについては、「sys.dm_tran_locks (Transact-SQL)」を参照してください。

LCK_M_IX

タスクがインテント排他 (IX) ロックの取得を待機しているときに発生します。ロックの互換性のマトリックスについては、「sys.dm_tran_locks (Transact-SQL)」を参照してください。

LCK_M_RIn_NL

タスクが、現在のキー値に対する NULL ロックの取得、および現在のキーから以前のキーまでを対象とした挿入範囲ロックの取得を待機しているときに発生します。キーの NULL ロックは、すぐに解放されるロックです。ロックの互換性のマトリックスについては、「sys.dm_tran_locks (Transact-SQL)」を参照してください。

LCK_M_RIn_S

タスクが、現在のキー値に対する共有ロックの取得、および現在のキーから以前のキーまでを対象とした挿入範囲ロックの取得を待機しているときに発生します。ロックの互換性のマトリックスについては、「sys.dm_tran_locks (Transact-SQL)」を参照してください。

LCK_M_RIn_U

タスクが、現在のキー値に対する更新ロックの取得、および現在のキーから以前のキーまでを対象とした挿入範囲ロックの取得を待機しているときに発生します。ロックの互換性のマトリックスについては、「sys.dm_tran_locks (Transact-SQL)」を参照してください。

LCK_M_RIn_X

タスクが、現在のキー値に対する排他ロックの取得、および現在のキーから以前のキーまでを対象とした挿入範囲ロックの取得を待機しているときに発生します。ロックの互換性のマトリックスについては、「sys.dm_tran_locks (Transact-SQL)」を参照してください。

LCK_M_RS_S

タスクが、現在のキー値に対する共有ロックの取得、および現在のキーから以前のキーまでを対象とした共有範囲ロックの取得を待機しているときに発生します。ロックの互換性のマトリックスについては、「sys.dm_tran_locks (Transact-SQL)」を参照してください。

LCK_M_RS_U

タスクが、現在のキー値に対する更新ロックの取得、および現在のキーから以前のキーまでを対象とした更新範囲ロックの取得を待機しているときに発生します。ロックの互換性のマトリックスについては、「sys.dm_tran_locks (Transact-SQL)」を参照してください。

LCK_M_RX_S

タスクが、現在のキー値に対する共有ロックの取得、および現在のキーから以前のキーまでを対象とした排他範囲ロックの取得を待機しているときに発生します。ロックの互換性のマトリックスについては、「sys.dm_tran_locks (Transact-SQL)」を参照してください。

LCK_M_RX_U

タスクが、現在のキー値に対する更新ロックの取得、および現在のキーから以前のキーまでを対象とした排他範囲ロックの取得を待機しているときに発生します。ロックの互換性のマトリックスについては、「sys.dm_tran_locks (Transact-SQL)」を参照してください。

LCK_M_RX_X

タスクが、現在のキー値に対する排他ロックの取得、および現在のキーから以前のキーまでを対象とした排他範囲ロックの取得を待機しているときに発生します。ロックの互換性のマトリックスについては、「sys.dm_tran_locks (Transact-SQL)」を参照してください。

LCK_M_S

タスクが共有ロックの取得を待機しているときに発生します。ロックの互換性のマトリックスについては、「sys.dm_tran_locks (Transact-SQL)」を参照してください。

LCK_M_SCH_M

タスクがスキーマ変更ロックの取得を待機しているときに発生します。ロックの互換性のマトリックスについては、「sys.dm_tran_locks (Transact-SQL)」を参照してください。

LCK_M_SCH_S

タスクがスキーマ共有ロックの取得を待機しているときに発生します。ロックの互換性のマトリックスについては、「sys.dm_tran_locks (Transact-SQL)」を参照してください。

LCK_M_SIU

タスクがインテント更新付き共有ロックの取得を待機しているときに発生します。ロックの互換性のマトリックスについては、「sys.dm_tran_locks (Transact-SQL)」を参照してください。

LCK_M_SIX

タスクがインテント排他付き共有ロックの取得を待機しているときに発生します。ロックの互換性のマトリックスについては、「sys.dm_tran_locks (Transact-SQL)」を参照してください。

LCK_M_U

タスクが更新ロックの取得を待機しているときに発生します。ロックの互換性のマトリックスについては、「sys.dm_tran_locks (Transact-SQL)」を参照してください。

LCK_M_UIX

タスクがインテント排他付き更新ロックの取得を待機しているときに発生します。ロックの互換性のマトリックスについては、「sys.dm_tran_locks (Transact-SQL)」を参照してください。

LCK_M_X

タスクが排他ロックの取得を待機しているときに発生します。ロックの互換性のマトリックスについては、「sys.dm_tran_locks (Transact-SQL)」を参照してください。

LOGBUFFER

タスクが、ログ レコードを格納するログ バッファーの領域を待機しているときに発生します。常に高い値が示される場合は、ログ デバイスで解放される領域よりも、サーバーにより生成されるログ サイズが大きいことを表しています。

LOGGENERATION

単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。

LOGMGR

データベースを閉じる間、ログのシャットダウン前に未処理のログ I/O が終了するのをタスクが待機しているときに発生します。

LOGMGR_FLUSH

単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。

LOGMGR_QUEUE

ログ ライター タスクが作業要求を待機しているときに発生します。

LOGMGR_RESERVE_APPEND

新しいログ レコードを書き込むために、タスクが、ログの切り捨てによるログ領域の解放の確認を待機しているときに発生します。この待機を短縮すると、影響を受けるデータベースのログ ファイル サイズが増えることに注意してください。

LOWFAIL_MEMMGR_QUEUE

メモリが使用可能になるのを待機しているときに発生します。

MISCELLANEOUS

単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。

MSQL_DQ

タスクが分散クエリ操作の終了を待機しているときに発生します。これは、複数のアクティブな結果セット (MARS) アプリケーションにデッドロックの可能性があるかどうかを検出するために使用されます。分散クエリ呼び出しが終了すると、待機は終了します。

MSQL_XACT_MGR_MUTEX

タスクが、セッション レベル トランザクション操作を実行するために、セッション トランザクション マネージャーの所有権の取得を待機しているときに発生します。

MSQL_XACT_MUTEX

トランザクション使用の同期中に発生します。要求でトランザクションを使用するには、まずミューテックスを取得する必要があります。

MSQL_XP

タスクが、拡張ストアド プロシージャの終了を待機しているときに発生します。SQL Server では、この待機状態を使用して、MARS アプリケーションにデッドロックの可能性があるかどうかを検出します。拡張ストアド プロシージャの呼び出しが終了すると、待機は終了します。

MSSEARCH

フルテキスト検索の呼び出し中に発生します。フルテキスト操作が完了すると、待機は終了します。この待機はフルテキスト操作の競合ではなく、操作時間を表します。

NET_WAITFOR_PACKET

ネットワークの読み取り中に、接続がネットワーク パケットを待機しているときに発生します。

OLEDB

SQL Server が SQL Server Native Client OLE DB プロバイダーを呼び出すときに発生します。この種類の待機は、同期では使用されません。代わりに、OLE DB プロバイダー呼び出しの持続時間を示します。

ONDEMAND_TASK_QUEUE

バックグラウンド タスクが、優先度の高いシステム タスクの要求を待機しているときに発生します。待機時間が長い場合は処理優先度が高い要求がないことを示します。問題があるわけではありません。

PAGEIOLATCH_DT

タスクが、I/O 要求内のバッファー ラッチで待機しているときに発生します。ラッチ要求は破棄モードです。待機時間が長い場合、ディスク サブシステムに問題がある可能性があります。

PAGEIOLATCH_EX

タスクが、I/O 要求内のバッファー ラッチで待機しているときに発生します。ラッチ要求は排他モードです。待機時間が長い場合、ディスク サブシステムに問題がある可能性があります。

PAGEIOLATCH_KP

タスクが、I/O 要求内のバッファー ラッチで待機しているときに発生します。ラッチ要求は保持モードです。待機時間が長い場合、ディスク サブシステムに問題がある可能性があります。

PAGEIOLATCH_NL

単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。

PAGEIOLATCH_SH

タスクが、I/O 要求内のバッファー ラッチで待機しているときに発生します。ラッチ要求は共有モードです。待機時間が長い場合、ディスク サブシステムに問題がある可能性があります。

PAGEIOLATCH_UP

タスクが、I/O 要求内のバッファー ラッチで待機しているときに発生します。ラッチ要求は更新モードです。待機時間が長い場合、ディスク サブシステムに問題がある可能性があります。

PAGELATCH_DT

タスクが、I/O 要求内にないバッファー ラッチで待機しているときに発生します。ラッチ要求は破棄モードです。

PAGELATCH_EX

タスクが、I/O 要求内にないバッファー ラッチで待機しているときに発生します。ラッチ要求は排他モードです。

PAGELATCH_KP

タスクが、I/O 要求内にないバッファー ラッチで待機しているときに発生します。ラッチ要求は保持モードです。

PAGELATCH_NL

単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。

PAGELATCH_SH

タスクが、I/O 要求内にないバッファー ラッチで待機しているときに発生します。ラッチ要求は共有モードです。

PAGELATCH_UP

タスクが、I/O 要求内にないバッファー ラッチで待機しているときに発生します。ラッチ要求は更新モードです。

PARALLEL_BACKUP_QUEUE

RESTORE HEADERONLY、RESTORE FILELISTONLY、または RESTORE LABELONLY によって生成された出力をシリアル化しているときに発生します。

PREEMPTIVE_ABR

単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。

PREEMPTIVE_AUDIT_ACCESS_EVENTLOG

SQL Server オペレーティング システム (SQLOS) スケジューラが、監査イベントを Windows イベント ログに書き込むためにプリエンプティブ モードに切り替えたときに発生します。

PREEMPTIVE_AUDIT_ACCESS_SECLOG

SQLOS スケジューラが、監査イベントを Windows セキュリティ ログに書き込むためにプリエンプティブ モードに切り替えたときに発生します。

PREEMPTIVE_CLOSEBACKUPMEDIA

SQLOS スケジューラが、バックアップ メディアを閉じるためにプリエンプティブ モードに切り替えたときに発生します。

PREEMPTIVE_CLOSEBACKUPTAPE

SQLOS スケジューラが、テープ バックアップ デバイスを閉じるためにプリエンプティブ モードに切り替えたときに発生します。

PREEMPTIVE_CLOSEBACKUPVDIDEVICE

SQLOS スケジューラが、仮想バックアップ デバイスを閉じるためにプリエンプティブ モードに切り替えたときに発生します。

PREEMPTIVE_CLUSAPI_CLUSTERRESOURCECONTROL

SQLOS スケジューラが、Windows フェールオーバー クラスター操作を実行するためにプリエンプティブ モードに切り替えたときに発生します。

PREEMPTIVE_COM_COCREATEINSTANCE

SQLOS スケジューラが、COM オブジェクトを作成するためにプリエンプティブ モードに切り替えたときに発生します。

PREEMPTIVE_SOSTESTING

単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。

PREEMPTIVE_STRESSDRIVER

単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。

PREEMPTIVE_TESTING

単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。

PREEMPTIVE_XETESTING

単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。

PRINT_ROLLBACK_PROGRESS

ALTER DATABASE 終了句を使って遷移されたデータベースで、ユーザー プロセスが終了するのを待機する場合に使用されます。詳細については、「ALTER DATABASE (Transact-SQL)」を参照してください。

QPJOB_KILL

非同期自動統計更新が実行を開始したときに、強制終了の呼び出しにより操作がキャンセルされたことを示します。終了スレッドは一時中断され、強制終了コマンドの受信開始を待機します。1 秒未満であれば問題はありません。

QPJOB_WAITFOR_ABORT

非同期自動統計更新の実行中に、強制終了の呼び出しにより操作がキャンセルされたことを示します。更新は現在完了していますが、終了スレッド メッセージ調整が完了するまでは一時中断されます。これは通常の状態ですが、発生することはほとんどありません。発生しても非常に短い時間です。1 秒未満であれば問題はありません。

QRY_MEM_GRANT_INFO_MUTEX

クエリ実行メモリ管理が、静的な許可情報リストへのアクセスを制御しようとするときに発生します。この待機状態では、現在許可されており待機中のメモリ要求に関する情報が一覧表示されます。またこの状態は、単純なアクセス制御状態です。この状態では、長時間に及ぶ待機は避けてください。このミューテックスが解放されない場合、新しいメモリを使用するすべてのクエリは応答を停止します。

QUERY_ERRHDL_SERVICE_DONE

単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。

QUERY_EXECUTION_INDEX_SORT_EVENT_OPEN

オフラインでのインデックス作成が並列実行される場合、並べ替えを行っている複数のワーカー スレッドが並べ替えファイルへのアクセスを同期するときに発生する場合があります。

QUERY_NOTIFICATION_MGR_MUTEX

クエリ通知マネージャー内のガベージ コレクション キューの同期中に発生します。

QUERY_NOTIFICATION_SUBSCRIPTION_MUTEX

クエリ通知内のトランザクションの状態の同期中に発生します。

QUERY_NOTIFICATION_TABLE_MGR_MUTEX

クエリ通知マネージャー内での内部同期中に発生します。

QUERY_NOTIFICATION_UNITTEST_MUTEX

単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。

QUERY_OPTIMIZER_PRINT_MUTEX

クエリ オプティマイザー診断の出力作成の同期中に発生します。この待機は、Microsoft 製品サポートの指示により、診断設定を有効にしている場合にのみ発生します。

QUERY_TRACEOUT

単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。

QUERY_WAIT_ERRHDL_SERVICE

単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。

RECOVER_CHANGEDB

ウォーム スタンバイ データベース内で、データベースの状態の同期中に発生します。

REPL_CACHE_ACCESS

レプリケーション アーティクル キャッシュでの同期中に発生します。この待機中、レプリケーション ログ リーダーは停止し、パブリッシュされたテーブルに対するデータ定義言語 (DDL) ステートメントはブロックされます。

REPL_SCHEMA_ACCESS

レプリケーション スキーマのバージョン情報の同期中に発生します。この状態は、レプリケートされたオブジェクトで DDL ステートメントが実行されるとき、および、ログ リーダーが DDL の発生に基づいてバージョン管理されたスキーマを作成または使用するときに発生します。

REPLICA_WRITES

タスクが、データベース スナップショットまたは DBCC レプリカへのページ書き込みの完了を待機しているときに発生します。

REQUEST_DISPENSER_PAUSE

タスクが、未処理の I/O がすべて完了しスナップショット バックアップ用にファイルの I/O が固定されるのを待機しているときに発生します。

REQUEST_FOR_DEADLOCK_SEARCH

デッドロック モニターが、次のデッドロック検索の開始を待機しているときに発生します。この待機は、デッドロックが検出されてから次に検出されるまでの間に発生することが予想されます。このリソースにおける合計待機時間が長くても問題はありません。

RESMGR_THROTTLED

新しい要求が着信し、GROUP_MAX_REQUESTS 設定に基づいて絞り込まれたときに発生します。

RESOURCE_QUEUE

さまざまな内部リソース キューの同期中に発生します。

RESOURCE_SEMAPHORE

他の同時実行クエリがあるため、クエリ メモリの要求がすぐに許可されない場合に発生します。待機および待機時間が高い値を示している場合は、同時実行クエリの数が多すぎるか、またはメモリ要求の数が多すぎる可能性があります。

RESOURCE_SEMAPHORE_MUTEX

クエリが、スレッドを予約するための要求を待機しているときに発生します。この待機は、クエリのコンパイルとメモリの要求許可を同期しているときにも発生します。

RESOURCE_SEMAPHORE_QUERY_COMPILE

コンパイルされる同時実行クエリの数が、スロットルの制限値に達したときに発生します。待機および待機時間の値が大きい場合は、コンパイル、再コンパイル、またはキャッシュできないプランの数が多すぎることを示している場合があります。

RESOURCE_SEMAPHORE_SMALL_QUERY

他の同時実行クエリがあるため、サイズの小さいクエリからのメモリ要求がすぐに許可されない場合に発生します。待機時間は数秒以内である必要があります。要求したメモリが数秒以内に許可されないと、サーバーによって要求がメイン クエリのメモリ プールに転送されます。待機が高い値を示している場合は、待機クエリによって主要なメモリ プールがブロックされているときに、サイズの小さい同時実行クエリの数が多すぎる可能性があります。

SEC_DROP_TEMP_KEY

一時セキュリティ キーを削除しようとして失敗した後、再試行するまでの間に発生します。

SECURITY_MUTEX

ミューテックスを待機しているときに発生します。このミューテックスは、拡張キー管理 (EKM) 暗号化サービス プロバイダーのグローバル リストへのアクセス、および EKM セッションのセッション スコープ リストへのアクセスを制御します。

SEQUENTIAL_GUID

新しいシーケンシャル GUID を取得中に発生します。

SERVER_IDLE_CHECK

SQL Server インスタンスのアイドル状態を同期している間に、リソース モニターが SQL Server インスタンスをアイドルとして宣言しようとするとき、または起動しようとするときに発生します。

SHUTDOWN

シャットダウン ステートメントが、アクティブな接続の終了を待機しているときに発生します。

SLEEP_BPOOL_FLUSH

ディスク サブシステムが飽和状態にならないよう、チェックポイントで新しい I/O の実行をスロットル中に発生します。

SLEEP_DBSTARTUP

すべてのデータベースが復旧するのを待機している間、データベースの起動中に発生します。

SLEEP_DCOMSTARTUP

DCOM の初期化が完了するのを待機している間、SQL Server インスタンスの起動中に、多くても 1 回だけ発生します。

SLEEP_MSDBSTARTUP

SQL トレースが msdb データベースの起動完了を待機しているときに発生します。

SLEEP_SYSTEMTASK

tempdb の起動完了を待機している間、バックグラウンド タスクの開始中に発生します。

SLEEP_TASK

ジェネリック イベントの発生を待機している間、タスクがスリープ状態のときに発生します。

SLEEP_TEMPDBSTARTUP

タスクが tempdb の起動完了を待機しているときに発生します。

SNI_CRITICAL_SECTION

SQL Server ネットワーク コンポーネント内での内部同期中に発生します。

SNI_HTTP_WAITFOR_0_DISCON

SQL Server のシャットダウン中、未完了の HTTP 接続が終了するのを待機している間に発生します。

SNI_LISTENER_ACCESS

NUMA (non-uniform memory access) ノードが状態の変化を更新するのを待機している間に発生します。状態の変化へのアクセスはシリアル化されます。

SNI_TASK_COMPLETION

NUMA ノード状態の変化中にすべてのタスクが終了するのを待機しているときに発生します。

SOAP_READ

HTTP ネットワークの読み取り完了を待機しているときに発生します。

SOAP_WRITE

HTTP ネットワークの書き込み完了を待機しているときに発生します。

SOS_CALLBACK_REMOVAL

コールバックを削除するために、コールバックの一覧で同期を実行しているときに発生します。サーバーの初期化が完了した後、通常この待機カウンターが変更されることはありません。

SOS_DISPATCHER_MUTEX

ディスパッチャー プールの内部初期化中に発生します。これには、プールの調整中も含まれます。

SOS_LOCALALLOCATORLIST

SQL Server メモリ マネージャー内での内部同期中に発生します。

SOS_MEMORY_USAGE_ADJUSTMENT

プール間でメモリ使用量が調整されている場合に発生します。

SOS_OBJECT_STORE_DESTROY_MUTEX

メモリ プールからオブジェクトを破棄するときに、メモリ プール内での内部同期中に発生します。

SOS_PROCESS_AFFINITY_MUTEX

関係設定を処理するためのアクセスの同期中に発生します。

SOS_RESERVEDMEMBLOCKLIST

SQL Server メモリ マネージャー内での内部同期中に発生します。

SOS_SCHEDULER_YIELD

タスクが、他のタスクの実行にスケジューラを自主的に解放したときに発生します。この待機中、タスクはクォンタムの更新を待機しています。

SOS_SMALL_PAGE_ALLOC

メモリの割り当てと開放中に発生します。このメモリはいくつかのメモリ オブジェクトによって管理されます。

SOS_STACKSTORE_INIT_MUTEX

内部ストアの初期化の同期中に発生します。

SOS_SYNC_TASK_ENQUEUE_EVENT

タスクが同期して開始したときに発生します。SQL Server のほとんどのタスクは非同期で開始し、タスクの要求が作業キューに挿入されるとすぐ制御が最初に戻ります。

SOS_VIRTUALMEMORY_LOW

メモリ割り当てが、リソース マネージャーによる仮想メモリの解放を待機しているときに発生します。

SOSHOST_EVENT

CLR などのホストされるコンポーネントが、SQL Server イベント同期オブジェクト上で待機しているときに発生します。

SOSHOST_INTERNAL

CLR などのホストされるコンポーネントで使用される、メモリ マネージャーのコールバックの同期中に発生します。

SOSHOST_MUTEX

CLR などのホストされるコンポーネントが、SQL Server ミューテックス同期オブジェクト上で待機しているときに発生します。

SOSHOST_RWLOCK

CLR などのホストされるコンポーネントが、SQL Server リーダー/ライター同期オブジェクト上で待機しているときに発生します。

SOSHOST_SEMAPHORE

CLR などのホストされるコンポーネントが、SQL Server セマフォ同期オブジェクト上で待機しているときに発生します。

SOSHOST_SLEEP

ジェネリック イベントの発生を待機している間、ホストされるタスクがスリープ状態のときに発生します。ホストされるタスクは、CLR などのホストされるコンポーネントで使用されます。

SOSHOST_TRACELOCK

ストリームをトレースするためのアクセスの同期中に発生します。

SOSHOST_WAITFORDONE

CLR などのホストされるコンポーネントが、タスクの完了を待機しているときに発生します。

SQLCLR_APPDOMAIN

CLR が、アプリケーション ドメインの起動完了を待機しているときに発生します。

SQLCLR_ASSEMBLY

アプリケーション ドメインに読み込まれたアセンブリ一覧へのアクセスを待機しているときに発生します。

SQLCLR_DEADLOCK_DETECTION

CLR がデッドロック検出の完了を待機しているときに発生します。

SQLCLR_QUANTUM_PUNISHMENT

クォンタムの実行時間を超えたことが原因で、CLR タスクがスロットルされたときに発生します。このスロットルは、こうしたリソース消費の多いタスクによる他のタスクへの影響を軽減するために行われます。

SQLSORT_NORMMUTEX

内部同期中、内部の並べ替え構造が初期化される間に発生します。

SQLSORT_SORTMUTEX

内部同期中、内部の並べ替え構造が初期化される間に発生します。

SQLTRACE_BUFFER_FLUSH

タスクが、バックグラウンド タスクによってトレース バッファーが 4 秒ごとにディスクにフラッシュされるのを待機しているときに発生します。

SQLTRACE_LOCK

ファイルのトレース中、トレース バッファーの同期中に発生します。

SQLTRACE_SHUTDOWN

トレースのシャットダウンが、未処理のトレース イベントが完了するのを待機しているときに発生します。

SQLTRACE_WAIT_ENTRIES

SQL トレース イベント キューが、パケットの到着を待機しているときに発生します。

SRVPROC_SHUTDOWN

シャットダウン プロセスが、正常にシャットダウンするために内部リソースの解放を待機しているときに発生します。

TEMPOBJ

一時オブジェクトの削除が同期されるときに発生します。この待機が発生するのはまれであり、タスクが temp テーブルの削除操作を行うための排他アクセスを要求した場合にのみ発生します。

THREADPOOL

タスクがワーカーの実行を待機しているときに発生します。ワーカー数の最大設定値が低すぎるか、バッチ実行時間が長すぎるため、他のバッチ用にワーカー数が削減されている可能性があります。

TIMEPRIV_TIMEPERIOD

拡張イベント タイマーの内部初期化中に発生します。

TRACEWRITE

SQL トレースの行セット トレース プロバイダーが、空きバッファーまたは処理するイベントを含むバッファーのいずれかを待機しているときに発生します。

TRAN_MARKLATCH_DT

トランザクション マーク ラッチで破棄モードのラッチを待機しているときに発生します。トランザクション マーク ラッチは、マークされたトランザクションでのコミットの同期に使用されます。

TRAN_MARKLATCH_EX

マークされたトランザクションで排他モードのラッチを待機しているときに発生します。トランザクション マーク ラッチは、マークされたトランザクションでのコミットの同期に使用されます。

TRAN_MARKLATCH_KP

マークされたトランザクションで保持モードのラッチを待機しているときに発生します。トランザクション マーク ラッチは、マークされたトランザクションでのコミットの同期に使用されます。

TRAN_MARKLATCH_NL

単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。

TRAN_MARKLATCH_SH

マークされたトランザクションで共有モードのラッチを待機しているときに発生します。トランザクション マーク ラッチは、マークされたトランザクションでのコミットの同期に使用されます。

TRAN_MARKLATCH_UP

マークされたトランザクションで更新モードのラッチを待機しているときに発生します。トランザクション マーク ラッチは、マークされたトランザクションでのコミットの同期に使用されます。

TRANSACTION_MUTEX

複数のバッチによるトランザクションへのアクセスの同期中に発生します。

UTIL_PAGE_ALLOC

トランザクション ログのスキャンが、メモリに負荷がかかっている間に、使用できるメモリを待機しているときに発生します。

VIA_ACCEPT

起動中に仮想インターフェイス アダプター (VIA) プロバイダー接続が完了すると発生します。

VIEW_DEFINITION_MUTEX

キャッシュされたビュー定義へのアクセスの同期中に発生します。

WAIT_FOR_RESULTS

クエリ通知が行われるのを待機しているときに発生します。

WAITFOR

WAITFOR Transact-SQL ステートメントの結果として発生します。この待機時間は、ステートメントに渡すパラメーターによって決まります。この待機はユーザーによって開始されるものです。

WAITFOR_TASKSHUTDOWN

単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。

WAITSTAT_MUTEX

sys.dm_os_wait_stats の設定に使用する統計コレクションへのアクセスの同期中に発生します。

WCC

単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。

WORKTBL_DROP

作業テーブルの削除が失敗してから、再試行されるまで一時停止しているときに発生します。

WRITE_COMPLETION

書き込み操作が進行中のときに発生します。

WRITELOG

ログ フラッシュの完了を待機しているときに発生します。ログ フラッシュの原因となる主な操作としては、チェックポイントとトランザクションのコミットがあります。

XACT_OWN_TRANSACTION

トランザクションの所有権取得を待機しているときに発生します。

XACT_RECLAIM_SESSION

セッションの現在の所有者がその所有権を解放するのを待機しているときに発生します。

XACTLOCKINFO

トランザクションのロック一覧へのアクセスの同期中に発生します。このロック一覧には、トランザクション自体だけでなく、ページ分割時にデッドロック検出やロック移行などの操作からもアクセスが行われます。

XACTWORKSPACE_MUTEX

トランザクションからの参加解除や、トランザクションの参加メンバー間におけるデータベース ロック数の同期中に発生します。

XE_BUFFERMGR_ALLPROCESSED_EVENT

拡張イベント セッション バッファーがターゲットにフラッシュされたときに発生します。この待機はバックグラウンド スレッドで発生します。

XE_BUFFERMGR_FREEBUF_EVENT

次のいずれかの条件が該当した場合に発生します。

  • 拡張イベント セッションが、イベントの削除を許可しないように構成されており、なおかつ、現在セッション内のすべてのバッファーがいっぱいになっている。この場合、拡張イベント セッションのバッファーを大きくするか、パーティション分割する必要があります。

  • 監査で遅延が生じている。監査の書き込み先ドライブでディスクのボトルネックが生じている可能性があります。

XE_DISPATCHER_CONFIG_SESSION_LIST

非同期ターゲットを使用している拡張イベント セッションが開始されたか、停止された場合に発生します。このタイプの待機は、次のいずれかを示します。

  • 拡張イベント セッションがバックグラウンドのスレッド プールへの登録を行っている。

  • バックグラウンド スレッド プールが、現在の負荷に応じて必要なスレッド数を計算している。

XE_DISPATCHER_JOIN

拡張イベント セッションに使用されているバックグラウンド スレッドの終了時に発生します。

XE_DISPATCHER_WAIT

拡張イベント セッションに使用されているバックグラウンド スレッドが、イベント バッファーの処理を待っているときに発生します。

XE_MODULEMGR_SYNC

単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。

XE_OLS_LOCK

単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。

XE_PACKAGE_LOCK_BACKOFF

単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。

変更履歴

変更内容

次の待機の種類が "待機の種類" 表から削除されました。

  • BACKUP_CLIENTLOCK

  • CURSOR

  • CURSOR_ASYNC

  • DBTABLE

  • FT_RESUME_CRAWL

  • HTTP_ENDPOINT_COLLCREATE

  • IMP_IMPORT_MUTEX

  • INDEX_USAGE_STATS_MUTEX

  • MIRROR_SEND_MESSAGE

  • MSQL_SYNC_PIPE

  • QNMANAGER_ACQUIRE

  • RG_RECONFIG

  • SNI_HTTP_ACCEPT

次の待機の種類が "待機の種類" 表に追加されました。

  • ABR

  • ASSEMBLY_LOAD

  • AUDIT_GROUPCACHE_LOCK

  • AUDIT_LOGINCACHE_LOCK

  • AUDIT_ON_DEMAND_TARGET_LOCK

  • AUDIT_XE_SESSION_MGR

  • BROKER_SERVICE

  • BROKER_TASK_STOP

  • BROKER_TO_FLUSH

  • CHECK_PRINT_RECORD

  • CLEAR_DB

  • CLR_MEMORY_SPY

  • CLRHOST_STATE_ACCESS

  • CXROWSET_SYNC

  • DAC_INIT

  • DISPATCHER_QUEUE_SEMAPHORE

  • DUMPTRIGGER

  • EXECUTION_PIPE_EVENT_INTERNAL

  • FS_FC_RWLOCK

  • FS_GARBAGE_COLLECTOR_SHUTDOWN

  • FS_HEADER_RWLOCK

  • FS_LOGTRUNC_RWLOCK

  • FSA_FORCE_OWN_XACT

  • FSAGENT

  • FSTR_CONFIG_MUTEX

  • FSTR_CONFIG_RWLOCK

  • FT_METADATA_MUTEX

  • GUARDIAN

  • INTERNAL_TESTING

  • IO_RETRY

  • IOAFF_RANGE_QUEUE

  • LOGGENERATION

  • PREEMPTIVE_ABR

  • PREEMPTIVE_AUDIT_ACCESS_EVENTLOG

  • PREEMPTIVE_AUDIT_ACCESS_SECLOG

  • PREEMPTIVE_CLOSEBACKUPMEDIA

  • PREEMPTIVE_CLOSEBACKUPTAPE

  • PREEMPTIVE_CLOSEBACKUPVDIDEVICE

  • PREEMPTIVE_CLUSAPI_CLUSTERRESOURCECONTROL

  • PREEMPTIVE_COM_COCREATEINSTANCE

  • PREEMPTIVE_SOSTESTING

  • PREEMPTIVE_STRESSDRIVER

  • PREEMPTIVE_TESTING

  • PREEMPTIVE_XETESTING

  • QUERY_ERRHDL_SERVICE_DONE

  • QUERY_WAIT_ERRHDL_SERVICE

  • SECURITY_MUTEX

  • SEQUENTIAL_GUID

  • SNI_LISTENER_ACCESS

  • SNI_TASK_COMPLETION

  • SOS_DISPATCHER_MUTEX

  • SOS_SMALL_PAGE_ALLOC

  • TIMEPRIV_TIMEPERIOD

  • VIA_ACCEPT

  • WAITFOR_TASKSHUTDOWN

  • WCC

  • WRITE_COMPLETION

  • XE_BUFFERMGR_ALLPROCESSED_EVENT

  • XE_BUFFERMGR_FREEBUF_EVENT

  • XE_DISPATCHER_CONFIG_SESSION_LIST

  • XE_DISPATCHER_JOIN

  • XE_DISPATCHER_WAIT

  • XE_MODULEMGR_SYNC

  • XE_OLS_LOCK

  • XE_PACKAGE_LOCK_BACKOFF