2010-09-10 25 views
9

J'ai une procédure stockée obsolète qui ne devrait plus être appelée à partir du code, mais il y a un système qui l'appelle encore. C'est un serveur de production donc j'ai un accès indirect très limité pour effectuer des diagnostics.Comment identifier l'appelant d'une procédure stockée à partir du Sproc

Est-il possible de déterminer la machine qui appelle une procédure stockée particulière à partir du sproc? Quelque chose comme la @@ CallingMachineIP ou @@ CallingMachineName

Répondre

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

ou

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

+1 - Et si vous avez plusieurs applications différentes qui appellent la procédure (Analyseur de requêtes, Crystal Reports, etc.), vous pouvez également sélectionner 'program_name' pour le réduire – LittleBobbyTables

5

@@SPID devrait vous donner l'ID de processus.

Ensuite,

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

Vous pouvez obtenir ce que vous avez besoin d'une de ces colonnes.