2010-09-10 9 views
9

Tengo un procedimiento almacenado en desuso que ya no se debe llamar desde el código, pero hay algún sistema que todavía lo está llamando. Este es un servidor de producción, por lo que tengo acceso indirecto muy limitado para realizar diagnósticos.Cómo identificar a la persona que llama de un Procedimiento almacenado desde Sproc

¿Hay alguna manera de determinar la máquina que llama a un procedimiento almacenado particular desde dentro del sproc? Algo como @@ @@ CallingMachineIP o CallingMachineName

Respuesta

9
select hostname from master..sysprocesses where [email protected]@SPID 

o

select host_name from sys.dm_exec_sessions where [email protected]@SPID 
+3

+1 - Y si tiene varias aplicaciones diferentes llamando al procedimiento (Query Analyzer, Crystal Reports, etc.), puede seleccionar 'program_name' y reducirlo – LittleBobbyTables

5

@@SPID debe darle la ID del proceso actual.

Entonces,

select * from master.dbo.sysprocesses where spid = @@SPID

Usted puede obtener lo que necesita de una de esas columnas.

Cuestiones relacionadas