sys.dm_os_wait_stats
更新 : 2006 年 4 月 14 日
実行されたスレッドにより検出された待機に関する情報を返します。この集計ビューを使用して、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 2005 では、待機時間のカウンタは bigint 値であり、したがって以前のバージョンの SQL Server にあった同等のカウンタほどカウンタのロールオーバーは発生しません。
クエリ実行中に発生している待機時間の種類によって、クエリにボトルネックや機能停止ポイントがあるかどうかを判断できます。また、サーバー全体の待機時間や待機カウントが高い値を示している場合は、サーバー インスタンス内の対話型クエリの対話にボトルネックまたはホット スポットが存在していることを表しています。たとえば、ロック待機の場合はクエリによるデータ競合、ページ I/O ラッチ待機の場合は遅い I/O 反応時間、ページ ラッチ更新待機の場合は不正なファイル レイアウトが存在していると判断できます。
この動的管理ビューの内容は、次のコマンドを実行してリセットできます。
DBCC SQLPERF ('sys.dm_os_wait_stats', CLEAR);
GO
このコマンドではすべてのカウンタが 0 にリセットされます。
メモ : |
---|
これらの統計は、SQL Server を再起動すると消去されます。すべてのデータは、統計が最後にリセットされてから、またはサーバーが最後に起動されてからの累積データです。 |
次の表は、タスクで発生する待機の種類の一覧です。
待機の種類 | 説明 |
---|---|
ASYNC_DISKPOOL_LOCK |
ファイルの作成や初期化などのタスクを実行している並列スレッドを同期しようとすると発生します。 |
ASYNC_IO_COMPLETION |
タスクが I/O の終了を待機しているときに発生します。 |
ASYNC_NETWORK_IO |
ネットワークの書き込みでタスクがブロックされているときに発生します。クライアントがサーバーからのデータを処理しているかどうかを確認してください。 |
BACKUP |
バックアップ処理の一部としてタスクがブロックされているときに発生します。 |
BACKUP_CLIENTLOCK |
内部使用のみ。 |
BACKUP_OPERATOR |
タスクがテープのマウントを待機しているときに発生します。テープの状態を表示するには、sys.dm_io_backup_tapes にクエリを実行します。マウント操作が保留中以外のときに、この待機が発生した場合は、テープ ドライブにハードウェア上の問題があると考えられます。 |
BACKUPBUFFER |
バックアップ タスクが、データまたはデータを格納するバッファを待機しているときに発生します。この待機は、タスクがテープのマウントを待機しているとき以外はほとんど発生しません。 |
BACKUPIO |
バックアップ タスクが、データまたはデータを格納するバッファを待機しているときに発生します。この待機は、タスクがテープのマウントを待機しているとき以外はほとんど発生しません。 |
BACKUPTHREAD |
タスクがバックアップ タスクの終了を待機しているときに発生します。待機時間の長さは、数分から数時間に及ぶ場合があります。待機中のタスクが I/O 処理中である場合は、この待機が発生しても問題はありません。 |
BAD_PAGE_PROCESS |
問題があると考えられるバックグラウンドのページ ロガーが、5 秒間隔より頻繁な実行を回避しようとする場合に発生します。問題があると考えられるページが多くある場合、ロガーは頻繁に実行されます。 |
BROKER_CONNECTION_RECEIVE_TASK |
接続エンドポイントでメッセージを受信するためアクセスを待機しているときに発生します。エンドポイントへの受信アクセスはシリアル化されます。 |
BROKER_ENDPOINT_STATE_MUTEX |
Service Broker 接続エンドポイントの状態へのアクセスが競合しているときに発生します。変更の状態へのアクセスはシリアル化されます。 |
BROKER_EVENTHANDLER |
タスクが Service Broker のプライマリ イベント ハンドラを待機しているときに発生します。この待機は、非常に短い時間の待機です。 |
BROKER_INIT |
各アクティブ データベースで Service Broker を初期化するときに発生します。この待機は、発生頻度の低い待機です。 |
BROKER_MASTERSTART |
タスクが Service Broker のプライマリ イベント ハンドラの起動を待機しているときに発生します。この待機は、非常に短い時間の待機です。 |
BROKER_RECEIVE_WAITFOR |
RECEIVE WAITFOR が待機しているときに発生します。これは、メッセージの受信準備ができていない場合によく起こります。 |
BROKER_REGISTERALLENDPOINTS |
Service Broker の接続エンドポイントの初期化中に発生します。この待機は、非常に短い時間の待機です。 |
BROKER_SHUTDOWN |
Service Broker のシャットダウンが予定されている場合に発生します。この待機は、非常に短い時間の待機です。 |
BROKER_TRANSMITTER |
Service Broker 送信機能が作業を待機しているときに発生します。 |
BUILTIN_HASHKEY_MUTEX |
この待機はインスタンスの起動後、内部データ構造の初期化中に発生することがあります。データ構造が初期化されてから再発生することはありません。 |
CHECKPOINT_QUEUE |
チェックポイント タスクが、次のチェックポイント要求を待機しているときに発生します。 |
CHKPT |
サーバー起動時に発生し、チェックポイント スレッドに開始できることを伝えます。 |
CLR_AUTO_EVENT |
タスクが共通言語ランタイム (CLR) を実行中で、特定の自動イベントが開始されるのを待機しているときに発生します。 |
CLR_CRST |
タスクが CLR を実行中で、重大なセクションが別のタスクによって現在使用されている場合、そのセクションを待機しているときに発生します。 |
CLR_JOIN |
タスクが CLR を実行中で、別のタスクの終了を待機しているときに発生します。また、この待機状態は、タスク間の結合があるときに発生します。 |
CLR_MANUAL_EVENT |
タスクが CLR を実行中で、特定の手動イベントが開始されるのを待機しているときに発生します。 |
CLR_MONITOR |
タスクが CLR を実行中で、ロックの取得をモニタで待機しているときに発生します。 |
CLR_RWLOCK_READER |
タスクが CLR を実行中で、リーダー ロックを待機しているときに発生します。 |
CLR_RWLOCK_WRITER |
タスクが CLR を実行中で、ライタ ロックを待機しているときに発生します。 |
CLR_SEMAPHORE |
タスクが CLR を実行中で、セマフォを待機しているときに発生します。 |
CLR_TASK_START |
CLR タスクが完全に開始されるのを待機しているときに発生します。 |
CMEMTHREAD |
タスクがスレッド セーフ メモリ オブジェクトで待機しているときに発生します。複数のタスクが同じメモリ オブジェクトからメモリを割り当てようとして競合が発生している場合、待機時間は長くなる可能性があります。 |
CURSOR |
内部使用のみ。 |
CURSOR_ASYNC |
内部使用のみ。 |
CXPACKET |
クエリ プロセッサ交換反復子を同期しようとするときに発生します。この待機で競合が発生すると問題になる場合は、並列処理の次数を下げることを検討してください。 |
DBMIRROR_DBM_EVENT |
内部使用のみ。 |
DBMIRROR_DBM_MUTEX |
内部使用のみ。 |
DBMIRROR_EVENTS_QUEUE |
データベース ミラーリングがイベントの処理を待機しているときに発生します。 |
DBMIRROR_SEND |
タスクが、ネットワーク層の通信バックログが消去されメッセージ送信できるようになるのを待機しているときに発生します。通信層が過負荷になり、データベース ミラーリング データのスループットに影響が生じ始めていることを表します。 |
DBMIRROR_WORKER_QUEUE |
データベース ミラーリング ワーカー タスクが、次の作業の実行を待機していることを表します。 |
DBMIRRORING_CMD |
タスクが、ログ レコードのディスクへのフラッシュを待機しているときに発生します。この待機状態は、長時間続くことが予想されます。 |
DBTABLE |
内部使用のみ。 |
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 回を超えた場合は、外部バックアップの完了に時間がかかりすぎている可能性があります。 |
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 |
メイン タスクが、サブタスクによるデータ生成を待機しているときに発生します。通常、この待機状態は発生しません。待機が長時間になる場合は、予期しないブロックが発生している可能性があり、サブタスクを調査する必要があります。 |
EC |
内部使用のみ。 |
EE_PMOLOCK |
ステートメントの実行時、特定の種類のメモリ割り当てを同期するときに発生します。 |
EE_SPECPROC_MAP_INIT |
内部プロシージャ ハッシュ テーブルの作成における同期中に発生します。この待機は、SQL Server 2005 インスタンスの開始後、ハッシュ テーブルに最初にアクセスするときにのみ発生します。 |
ENABLE_VERSIONING |
データベースがスナップショット分離が許可されている状態に移行できることを宣言するために、SQL Server が、このデータベースにおけるすべての更新トランザクションの終了を待機しているときに発生します。この待機状態は、SQL Server が ALTER DATABASE ステートメントを使用してスナップショット分離を有効にするときに使用されます。 |
ERROR_REPORTING_MANAGER |
複数のエラー ログの初期化における同期中に発生します。 |
EXCHANGE |
並列クエリの実行時、クエリ プロセッサ交換反復子での同期中に発生します。 |
EXECSYNC |
並列クエリの実行時、交換反復子に関係のない領域での、クエリ プロセッサによる同期中に発生します。このような領域の例としては、ビットマップ、ラージ バイナリ オブジェクト (LOB)、スプール反復子などがあります。LOB では、この待機状態が頻繁に使用されることがあります。 |
FAILPOINT |
内部使用のみ。 |
FCB_REPLICA_READ |
スナップショット (または DBCC によって作成された一時スナップショット) のスパース ファイルの読み取りを同期するときに発生します。 |
FCB_REPLICA_WRITE |
スナップショット (または DBCC によって作成された一時スナップショット) のスパース ファイルに対するページのプッシュまたはプルを同期するときに発生します。 |
FT_RESTART_CRAWL |
一時的なエラーから復旧するために、正常と認識されている最後の時点からフルテキスト クロールを再開する必要があるときに発生します。この待機が発生した場合、設定を現在処理中のワーカー タスクは、完了するか現在のステップを終了することを許可されます。 |
FT_RESUME_CRAWL |
内部使用のみ。 |
FULLTEXT GATHERER |
フルテキスト操作の同期中に発生します。 |
HTTP_ENDPOINT_COLLCREATE |
内部使用のみ。 |
HTTP_ENUMERATION |
起動時に発生し、HTTP を開始するため HTTP エンドポイントを列挙します。 |
HTTP_START |
接続が HTTP の初期化完了を待機しているときに発生します。 |
IMP_IMPORT_MUTEX |
内部使用のみ。 |
IMPPROV_IOWAIT |
SQL Server が、一括読み込み I/O の終了を待機しているときに発生します。 |
INDEX_USAGE_STATS_MUTEX |
内部使用のみ。 |
IO_AUDIT_MUTEX |
トレース イベント バッファの同期中に発生します。 |
IO_COMPLETION |
I/O 操作の完了を待機しているときに発生します。この待機の種類は通常、データ ページ以外の I/O を表します。データ ページ I/O の完了の待機は、PAGEIOLATCH_* の待機として表示されます。 |
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」を参照してください。 |
LCK_M_IS |
タスクがインテント共有 (IS) ロックの取得を待機しているときに発生します。ロックの互換性のマトリックスについては、「sys.dm_tran_locks」を参照してください。 |
LCK_M_IU |
タスクがインテント更新 (IU) ロックの取得を待機しているときに発生します。ロックの互換性のマトリックスについては、「sys.dm_tran_locks」を参照してください。 |
LCK_M_IX |
タスクがインテント排他 (IX) ロックの取得を待機しているときに発生します。ロックの互換性のマトリックスについては、「sys.dm_tran_locks」を参照してください。 |
LCK_M_RIn_NL |
タスクが、現在のキー値に対する NULL ロックの取得、および現在のキーから以前のキーまでを対象とした挿入範囲ロックの取得を待機しているときに発生します。キーの NULL ロックは、すぐに解放されるロックです。ロックの互換性のマトリックスについては、「sys.dm_tran_locks」を参照してください。 |
LCK_M_RIn_S |
タスクが、現在のキー値に対する共有ロックの取得、および現在のキーから以前のキーまでを対象とした挿入範囲ロックの取得を待機しているときに発生します。ロックの互換性のマトリックスについては、「sys.dm_tran_locks」を参照してください。 |
LCK_M_RIn_U |
タスクが、現在のキー値に対する更新ロックの取得、および現在のキーから以前のキーまでを対象とした挿入範囲ロックの取得を待機しているときに発生します。ロックの互換性のマトリックスについては、「sys.dm_tran_locks」を参照してください。 |
LCK_M_RIn_X |
タスクが、現在のキー値に対する排他ロックの取得、および現在のキーから以前のキーまでを対象とした挿入範囲ロックの取得を待機しているときに発生します。ロックの互換性のマトリックスについては、「sys.dm_tran_locks」を参照してください。 |
LCK_M_RS_S |
タスクが、現在のキー値に対する共有ロックの取得、および現在のキーから以前のキーまでを対象とした共有範囲ロックの取得を待機しているときに発生します。ロックの互換性のマトリックスについては、「sys.dm_tran_locks」を参照してください。 |
LCK_M_RS_U |
タスクが、現在のキー値に対する更新ロックの取得、および現在のキーから以前のキーまでを対象とした更新範囲ロックの取得を待機しているときに発生します。ロックの互換性のマトリックスについては、「sys.dm_tran_locks」を参照してください。 |
LCK_M_RX_S |
タスクが、現在のキー値に対する共有ロックの取得、および現在のキーから以前のキーまでを対象とした排他範囲ロックの取得を待機しているときに発生します。ロックの互換性のマトリックスについては、「sys.dm_tran_locks」を参照してください。 |
LCK_M_RX_U |
タスクが、現在のキー値に対する更新ロックの取得、および現在のキーから以前のキーまでを対象とした排他範囲ロックの取得を待機しているときに発生します。ロックの互換性のマトリックスについては、「sys.dm_tran_locks」を参照してください。 |
LCK_M_RX_X |
タスクが、現在のキー値に対する排他ロックの取得、および現在のキーから以前のキーまでを対象とした排他範囲ロックの取得を待機しているときに発生します。ロックの互換性のマトリックスについては、「sys.dm_tran_locks」を参照してください。 |
LCK_M_S |
タスクが共有ロックの取得を待機しているときに発生します。ロックの互換性のマトリックスについては、「sys.dm_tran_locks」を参照してください。 |
LCK_M_SCH_M |
タスクがスキーマ変更ロックの取得を待機しているときに発生します。ロックの互換性のマトリックスについては、「sys.dm_tran_locks」を参照してください。 |
LCK_M_SCH_S |
タスクがスキーマ共有ロックの取得を待機しているときに発生します。ロックの互換性のマトリックスについては、「sys.dm_tran_locks」を参照してください。 |
LCK_M_SIU |
タスクがインテント更新付き共有ロックの取得を待機しているときに発生します。ロックの互換性のマトリックスについては、「sys.dm_tran_locks」を参照してください。 |
LCK_M_SIX |
タスクがインテント排他付き共有ロックの取得を待機しているときに発生します。ロックの互換性のマトリックスについては、「sys.dm_tran_locks」を参照してください。 |
LCK_M_U |
タスクが更新ロックの取得を待機しているときに発生します。ロックの互換性のマトリックスについては、「sys.dm_tran_locks」を参照してください。 |
LCK_M_UIX |
タスクがインテント排他付き更新ロックの取得を待機しているときに発生します。ロックの互換性のマトリックスについては、「sys.dm_tran_locks」を参照してください。 |
LCK_M_X |
タスクが排他ロックの取得を待機しているときに発生します。ロックの互換性のマトリックスについては、「sys.dm_tran_locks」を参照してください。 |
LOGBUFFER |
タスクが、ログ レコードを格納するログ バッファの領域を待機しているときに発生します。常に高い値が示される場合は、ログ デバイスで解放される領域よりも、サーバーにより生成されるログ サイズが大きいことを表しています。 |
LOGMGR |
データベースを閉じる間、タスクが、ログのシャットダウン前に未処理のログ I/O が終了するのを待機しているときに発生します。 |
LOGMGR_FLUSH |
内部使用のみ。 |
LOGMGR_QUEUE |
ログ ライタ タスクが作業要求を待機しているときに発生します。 |
LOGMGR_RESERVE_APPEND |
新しいログ レコードを書き込むために、タスクが、ログの切り捨てによるログ領域の解放の確認を待機しているときに発生します。この待機を短縮すると、影響を受けるデータベースのログ ファイル サイズが増えることに注意してください。 |
LOWFAIL_MEMMGR_QUEUE |
メモリが使用可能になるのを待機しているときに発生します。 |
MIRROR_SEND_MESSAGE |
内部使用のみ。 |
MISCELLANEOUS |
内部使用のみ。 |
MSQL_DQ |
タスクが分散クエリ操作の終了を待機しているときに発生します。これは、複数のアクティブな結果セット (MARS) アプリケーションにデッドロックの可能性があるかどうかを検出するために使用されます。分散クエリ呼び出しが終了すると、待機は終了します。 |
MSQL_SYNC_PIPE |
内部使用のみ。 |
MSQL_XACT_MGR_MUTEX |
タスクが、セッション レベル トランザクション操作を実行するために、セッション トランザクション マネージャの所有権の取得を待機しているときに発生します。 |
MSQL_XACT_MUTEX |
トランザクション使用の同期中に発生します。要求でトランザクションを使用するには、まずミューテックスを取得する必要があります。 |
MSQL_XP |
タスクが、拡張ストアド プロシージャの終了を待機しているときに発生します。SQL Server では、この待機状態を使用して、MARS アプリケーションにデッドロックの可能性があるかどうかを検出します。拡張ストアド プロシージャの呼び出しが終了すると、待機は終了します。 |
MSSEARCH |
フルテキスト検索の呼び出し中に発生します。フルテキスト操作が完了すると、待機は終了します。この待機はフルテキスト操作の競合ではなく、操作時間を表します。 |
NET_WAITFOR_PACKET |
ネットワークの読み取り中に、接続がネットワーク パケットを待機しているときに発生します。 |
OLEDB |
SQL Server が Microsoft SQL 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 によって生成された出力をシリアル化しているときに発生します。 |
PRINT_ROLLBACK_PROGRESS |
ALTER DATABASE 終了句を使用して遷移されたデータベースで、ユーザー プロセスが終了するのを待機する場合に使用されます。詳細については、「ALTER DATABASE (Transact-SQL)」を参照してください。 |
QNMANAGER_ACQUIRE |
内部使用のみ。 |
QPJOB_KILL |
非同期自動統計更新が実行開始されたときに、強制終了呼び出しにより操作がキャンセルされたことを示します。終了スレッドは一時中断され、強制終了コマンドの受信開始を待機します。1 秒未満であれば問題はありません。 |
QPJOB_WAITFOR_ABORT |
非同期自動統計更新の実行中に、強制終了の呼び出しにより操作がキャンセルされたことを示します。更新は現在完了していますが、終了スレッド メッセージ調整が完了するまでは一時中断されます。これは通常の状態ですが、発生することはほとんどありません。発生しても非常に短い時間です。1 秒未満であれば問題はありません。 |
QRY_MEM_GRANT_INFO_MUTEX |
クエリ実行メモリ管理が、静的な許可情報リストへのアクセスを制御しようとするときに発生します。この待機状態では、現在許可されており待機中のメモリ要求に関する情報が一覧表示されます。またこの状態は、単純なアクセス制御状態です。この状態では、長時間に及ぶ待機は避けてください。このミューテックスが解放されない場合、新しいメモリを使用するすべてのクエリは応答を停止します。 |
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 |
内部使用のみ。 |
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 |
デッドロック モニタが、次のデッドロック検索の開始を待機しているときに発生します。この待機は、デッドロックが検出されてから次に検出されるまでの間に発生することが予想されます。このリソースにおける合計待機時間が長くても問題はありません。 |
RESOURCE_QUEUE |
さまざまな内部リソース キューの同期中に発生します。 |
RESOURCE_SEMAPHORE |
他の同時実行クエリがあるため、クエリ メモリの要求がすぐに許可されない場合に発生します。待機および待機時間が高い値を示している場合は、同時実行クエリの数が多すぎるか、またはメモリ要求の数が多すぎる可能性があります。 |
RESOURCE_SEMAPHORE_MUTEX |
クエリが、スレッドを予約するための要求を待機しているときに発生します。この待機は、クエリのコンパイルとメモリの要求許可を同期しているときにも発生します。 |
RESOURCE_SEMAPHORE_QUERY_COMPILE |
コンパイルされる同時実行クエリの数が、スロットルの制限値に達したときに発生します。待機および待機時間が高い値を示している場合は、コンパイル、再コンパイル、またはキャッシュできないプランの数が多すぎる可能性があります。 |
RESOURCE_SEMAPHORE_SMALL_QUERY |
他の同時実行クエリがあるため、サイズの小さいクエリからのメモリ要求がすぐに許可されない場合に発生します。待機時間は数秒以内である必要があります。要求したメモリが数秒以内に許可されないと、サーバーによって要求がメイン クエリのメモリ プールに転送されます。待機が高い値を示している場合は、待機クエリによって主要なメモリ プールがブロックされているときに、サイズの小さい同時実行クエリの数が多すぎる可能性があります。 |
SEC_DROP_TEMP_KEY |
一時セキュリティ キーを削除しようとして失敗した後、再試行するまでの間に発生します。 |
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_ACCEPT |
内部使用のみ。 |
SNI_HTTP_WAITFOR_0_DISCON |
SQL Server のシャットダウン中、未完了の HTTP 接続が終了するのを待機している間に発生します。 |
SOAP_READ |
HTTP ネットワークの読み取り完了を待機しているときに発生します。 |
SOAP_WRITE |
HTTP ネットワークの書き込み完了を待機しているときに発生します。 |
SOS_CALLBACK_REMOVAL |
コールバックを削除するために、コールバックの一覧で同期を実行しているときに発生します。サーバーの初期化が完了した後、通常この待機カウンタが変更されることはありません。 |
SOS_LOCALALLOCATORLIST |
SQL Server メモリ マネージャ内での内部同期中に発生します。 |
SOS_OBJECT_STORE_DESTROY_MUTEX |
メモリ プールからオブジェクトを破棄するときに、メモリ プール内での内部同期中に発生します。 |
SOS_PROCESS_AFFINITY_MUTEX |
関係設定を処理するためのアクセスの同期中に発生します。 |
SOS_RESERVEDMEMBLOCKLIST |
SQL Server メモリ マネージャ内での内部同期中に発生します。 |
SOS_SCHEDULER_YIELD |
タスクが、他のタスクの実行にスケジューラを自主的に解放したときに発生します。この待機中、タスクはクォンタムの更新を待機しています。 |
SOS_STACKSTORE_INIT_MUTEX |
内部ストアの初期化の同期中に発生します。 |
SOS_SYNC_TASK_ENQUEUE_EVENT |
タスクが同期して開始したときに発生します。SQL Server のほとんどのタスクは非同期で開始し、タスクの要求が作業キューに挿入されるとすぐ制御が最初に戻ります。 |
SOS_VIRTUALMEMORY_LOW |
メモリ割り当てが、リソース マネージャによる仮想メモリの解放を待機しているときに発生します。 |
SOSHOST_EVENT |
CLR などのホストされるコンポーネントが、SQL Server 2005 イベント同期オブジェクト上で待機しているときに発生します。 |
SOSHOST_INTERNAL |
CLR などのホストされるコンポーネントで使用される、メモリ マネージャのコールバックの同期中に発生します。 |
SOSHOST_MUTEX |
CLR などのホストされるコンポーネントが、SQL Server 2005 ミューテックス同期オブジェクト上で待機しているときに発生します。 |
SOSHOST_RWLOCK |
CLR などのホストされるコンポーネントが、SQL Server 2005 リーダー/ライタ同期オブジェクト上で待機しているときに発生します。 |
SOSHOST_SEMAPHORE |
CLR などのホストされるコンポーネントが、SQL Server 2005 セマフォ同期オブジェクト上で待機しているときに発生します。 |
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 |
タスクがワーカーの実行を待機しているときに発生します。ワーカー数の最大設定値が低すぎるか、バッチ実行時間が長すぎるため、他のバッチ用にワーカー数が削減されている可能性があります。 |
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 |
トランザクション ログのスキャンが、メモリに負荷がかかっている間に、使用できるメモリを待機しているときに発生します。 |
VIEW_DEFINITION_MUTEX |
キャッシュされたビュー定義へのアクセスの同期中に発生します。 |
WAIT_FOR_RESULTS |
クエリ通知が行われるのを待機しているときに発生します。 |
WAITFOR |
WAITFOR Transact-SQL ステートメントの結果として発生します。この待機時間は、ステートメントに渡すパラメータによって決まります。この待機はユーザーによって開始されるものです。 |
WAITSTAT_MUTEX |
sys.dm_os_wait_stats の設定に使用する統計コレクションへのアクセスの同期中に発生します。 |
WORKTBL_DROP |
作業テーブルの削除が失敗してから、再試行されるまで一時停止しているときに発生します。 |
WRITELOG |
ログ フラッシュの完了を待機しているときに発生します。ログ フラッシュの原因となる主な操作としては、チェックポイントとトランザクションのコミットがあります。 |
XACT_OWN_TRANSACTION |
トランザクションの所有権取得を待機しているときに発生します。 |
XACT_RECLAIM_SESSION |
セッションの現在の所有者がその所有権を解放するのを待機しているときに発生します。 |
XACTLOCKINFO |
トランザクションのロック一覧へのアクセスの同期中に発生します。このロック一覧には、トランザクション自体だけでなく、ページ分割時にデッドロック検出やロック移行などの操作からもアクセスが行われます。 |
XACTWORKSPACE_MUTEX |
トランザクションからの参加解除や、トランザクションの参加メンバ間におけるデータベース ロック数の同期中に発生します。 |
参照
関連項目
動的管理ビューと動的管理関数
SQL Server オペレーティング システム関連の動的管理ビュー
ヘルプおよび情報
変更履歴
リリース | 履歴 |
---|---|
2006 年 4 月 14 日 |
|
2005 年 12 月 5 日 |
|