Estou tentando examinar alguns T-SQL com eventos estendidos, como costumava fazer com o SQL Profiler. Eu tenho a seguinte sessão de evento:
IF EXISTS (SELECT name FROM sys.dm_xe_sessions WHERE Name = 'PySoup tracing')
BEGIN
DROP EVENT SESSION [PySoup tracing] ON SERVER
END
CREATE EVENT SESSION [PySoup tracing] ON SERVER
ADD EVENT sqlserver.rpc_completed (ACTION(sqlserver.client_app_name, sqlserver.sql_text )),
ADD EVENT sqlserver.sp_statement_completed (ACTION(sqlserver.client_app_name, sqlserver.sql_text )),
ADD EVENT sqlserver.sql_batch_completed (ACTION(sqlserver.client_app_name, sqlserver.sql_text )),
ADD EVENT sqlserver.sql_statement_completed (ACTION(sqlserver.client_app_name, sqlserver.sql_text ))
ADD TARGET package0.event_file(SET filename=N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Log\PySoup tracing.xel')--,
--ADD TARGET package0.ring_buffer(SET max_events_limit=(1000000))
GO
ALTER EVENT SESSION [PySoup tracing] ON SERVER
STATE = START;
Achei que a cláusula ACTION deveria listar as colunas que foram retornadas pelo evento. No entanto, não vejo sqlserver.client_app_name
a coluna quando visualizo os dados do evento na GUI.
O que estou fazendo errado?
Já vi esse problema antes, o que parece acontecer se você tiver esse tipo de sequência:
A GUI não mostra os dados colunares adicionados. Suas opções aqui seriam consultar diretamente o destino ou limpar/renomear os arquivos XEL da definição de sessão antiga.
Não que isso seja considerado a resposta na sua situação, pois você já a marcou. Esta é apenas a minha opinião, com alguns testes.
Criei a sessão do evento usando a instância do SQL Server 2012 e a versão do SSMS, menos o evento do nome do aplicativo.
Nunca fechei meu visualizador de dados ao vivo e nunca interrompi a sessão. Entrei nas propriedades da sessão e adicionei o arquivo
client_app_name
. Em seguida, revisei a saída novamente e não demorou imediatamente, mas começou a mostrar o nome do aplicativo conforme o esperado.A partir do SQL Server 2012, você pode alterar as propriedades de sua sessão sem precisar interromper e iniciar a sessão. Então eu posso adicionar e remover campos, incluir filtros, etc sem ter que me preocupar com um stop/start. No seu caso, não sei se isso é verdade ou não, mas a exibição de dados ao vivo faz com que a latência de despacho mude. Pode ter demorado um pouco para pegar. Você pode dar uma olhada nisso na minha resposta em outra pergunta .