Estou procurando uma maneira de enviar um alerta quando uma ferramenta DBA estiver conectada por "muito tempo" em um banco de dados SQL Server Production.
Para a maioria das ferramentas listadas, posso encontrar o nome do programa com a seguinte consulta.
select
login_time,
host_name,
program_name,
login_name,
nt_domain,
nt_user_name,
last_request_start_time
From sys.dm_exec_sessions
where host_name is not null
No entanto, não consigo encontrar a ferramenta Activity Monitor, embora ela esteja em execução. Eu uso um SQL Server 2012 Management Studio e o executo em uma instância do SQL Server 2012.
Você tem uma idéia sobre o motivo pelo qual não consigo vê-lo? O Activity Monitor faz "conectar/desconectar" para mostrar seu conteúdo?
Se for o caso, é absolutamente normal que eu não encontre lá e teria que mudar minha maneira de verificar com um evento estendido ou um gatilho de logon ...
O Activity Monitor aparece como uma sessão de usuário padrão, "dormindo" em tempdb (database_id = 2, geralmente), com o program_name de "Microsoft SQL Server Management Studio".
Ele consulta apenas a taxa de sua janela de atualização, mas esses identificadores, mais o total_elapsed_time, devem tornar possível encontrar seus monitores ociosos.