Is there any way to know which DMVs/DMFs are related to each other?
Some of them are well known or obvious, like sys.dm_exec_connections JOIN sys.dm_exec_sessions ON session_id = session_id, or the DMVs for missing indexes.
However, for example, I would like to know what other DMVs sys.dm_exec_sessions joins with on session_id. Session_id does not exist in sys.columns. Also, the queries here do not list anything for DMVs.
A long, long time ago Microsoft published a large .pdf poster with all of the system views for SQL Server 2005, so I'm looking for something like the for DMVs/DMFs in SQL Server 2017.
Best Answer
You could cheat and use Glen Berry's. The docs list the relationship cardinalities at the bottom for
sys.dm_exec_requests
,sys.dm_exec_connections
,sys.dm_exec_cursors
,sys.dm_db_session_space_usage
.Here's the map for 2012 that you're looking for. You'd just need to account for new DMVs Here is a mapping of system tables to system views. - scsimon