• This query (joining sys.dm_exec_sessions to sys.dm_exec_requests) is functionally different from querying sys.sysprocesses.

    sys.sysprocesses has the current database context for every session (regardless of whether there are any currently-executing requests).

    However, joining to sys.dm_exec_requests means that you will only get results for sessions with currently-executing requests.

    You'll get fewer roes using sys.dm_exec_requests, and potentially filter out valid results.

    As of now, I think that the dbid data in sys.sysprocesses is uniquely available in that view, and not available in any other 2012 DMV.