È possibile sapere chi ha chiamato una procedura di archiviazione? , Sto usando la seguente query per identificare il conteggio delle esecuzioni, ecc. Ma non sono in grado di identificare quale job/trigger/processo lo sta chiamando. Tutte le idee su di esso si prega diÈ possibile scoprire chi ha chiamato una procedura di archiviazione in sql server 2005
SELECT a.execution_count ,OBJECT_NAME(objectid) Name,
(CASE WHEN a.statement_end_offset = -1
THEN
len(convert(nvarchar(max), b.text)) * 2
ELSE
a.statement_end_offset
END - a.statement_start_offset)/2) ,b.dbid ,dbname = db_name(b.dbid) , b.objectid
,a.creation_time,a.last_execution_time,a.*
FROM sys.dm_exec_query_stats a CROSS APPLY sys.dm_exec_sql_text(a.sql_handle) as b
WHERE OBJECT_NAME(objectid) = 'Rebuild_Indexes' ORDER BY a.last_execution_time
ESCquery_text = SUBSTRING(b.text,a.statement_start_offset/2,
Cos'è _who_? Sono disponibili '@@ SPID' e' ORIGINAL_LOGIN() '. Vuoi vedere le impronte digitali attraverso la tastiera e vedere chi ha realmente iniziato l'applicazione? 'selezionare * da sys.dm_exec_connections come EC inner join sys.dm_exec_sessions come ES su ES.session_id = EC.session_id dove EC.session_id = @@ SPID'? – HABO
Un tema comune che vedrete nelle risposte è che, senza registrare tutto, è impossibile vedere chi ha chiamato un processo memorizzato; piuttosto, puoi vedere chi lo sta chiamando. –