SELECT d.session_id,d.login_name
FROM sys.dm_os_workers AS a
LEFT JOIN sys.dm_os_tasks b ON a.task_address=b.task_address
LEFT JOIN sys.dm_exec_requests c ON c.session_id=b.session_id
LEFT JOINsys.dm_exec_sessions d ON d.session_id=b.session_id
WHERE state = 'RUNNING' AND c.session_id IS NULL
surely every running working should be associated with a session, the above query has just returned 5 workers