No SQL Server, tenho o id de sessão de um processo que está bloqueando outros processos. Agora eu gostaria de identificar o usuário ou máquina específica que causa esse bloqueio. Os usuários estão se autenticando usando a Autenticação do SQL Server.
Normalmente consigo obter as informações desejadas do monitor de atividade (ou através de uma consulta). Mas caso o usuário tenha se conectado a partir de uma sessão da Área de Trabalho Remota, estou perdido. O nome do host é o mesmo para todos os usuários RDP e não há informações adicionais que ajudem a distinguir as sessões. Parece que não há como realmente identificar o usuário que está realmente bloqueando os outros.
Existe alguma maneira de identificar o usuário, no entanto? Se sim, como?
(Se não for possível, então eu tenho que viver com isso...)
Uma maneira de fazer isso seria usar a
host_process_id
coluna desys.dm_exec_sessions
Este host_process_id nesta tabela mapeia para o PID no gerenciador de tarefas.
Nesse caso, poderíamos executar a seguinte consulta para obter nosso host_process_id e, em seguida, obter o resultado e verificar no gerenciador de tarefas qual aplicativo atualmente possui um PID correspondente ao resultado.
Você pode então verificar qual conta está executando esse processo.