Estamos usando um software de uma empresa terceirizada que se comunica com um banco de dados SQL Server e recupera e insere todas as informações.
Quando um usuário usa este software, às vezes ele congela em uma determinada etapa. Preciso solucionar o problema e descobrir por que isso acontece.
Basicamente, quero usar este software de interface do usuário e, ao mesmo tempo, ver qual consulta é executada em cada etapa que estou executando.
Para isso, estou usando o SQL Profiler para ver qual consulta causa esse gargalo. Mas como eu rastrearia etapas apenas para esse software específico e apenas para um usuário específico? Não quero ver todas as outras informações.
Eu sou capaz de filtrar NTUserName, que estou assumindo que é apenas UserName, correto?
Mas como posso descobrir o que é o ApplicationName?
Se eu executar esta consulta, vejo 13 aplicativos diferentes, incluindo Microsoft Office, Report Server etc. Nenhum deles soa como o nome do software que usamos. (Sistemas MGA. Sistema de Gestão de Seguros)
select distinct
program_name
from sys.dm_exec_sessions
where is_user_process = 1;
O ApplicationName será o valor especificado na cadeia de conexão ou, se nenhum for especificado, um valor padrão que varia dependendo da API do cliente. Por exemplo, SqlClient usará o valor genérico ".Net SqlClient Data Provider'" quando o nome do aplicativo não for especificado.