調べ物をしていて気づいたのですが、SQL Server 2016 / SQL Database v12 では、セッション単位の待ち事象を確認することができる、sys.dm_exec_session_wait_stats という DMV が追加されているようです。
従来の sys.dm_os_wait_stats はインスタンス単位の待ち事象となるため、特定のクエリで発生した待ち事象を確認するためには、拡張イベントを使用する必要がありました。
この DMV が追加されたことで、簡単にセッション単位の待ち事象を取得することができるようになりました。
情報は以下のような形で取得することができます。
該当のセッションがクローズされた場合は情報を確認することができませんので、アクティブなセッションの情報のみが取得できる形となるようです。
SQL Server 2016 では、SQL Server 2014 と比較して、以下のような DMV が追加されているようです。
- dm_column_store_object_pool
- dm_db_column_store_row_group_operational_stats
- dm_db_column_store_row_group_physical_stats
- dm_db_rda_migration_status
- dm_exec_compute_node_errors
- dm_exec_compute_node_status
- dm_exec_compute_nodes
- dm_exec_distributed_request_steps
- dm_exec_distributed_requests
- dm_exec_distributed_sql_requests
- dm_exec_dms_services
- dm_exec_dms_workers
- dm_exec_external_operations
- dm_exec_external_work
- dm_exec_function_stats
- dm_exec_session_wait_stats
- dm_global_transactions
Data Warehouse 向けの DMV がかなり追加されているようですね。