2010-09-10 29 views
9

我有一個不應該再從代碼中調用的不推薦使用的存儲過程,但有一些系統仍在調用它。這是一臺生產服務器,所以我對其執行診斷的間接訪問非常有限。如何從Sproc中識別存儲過程的調用者

是否有任何方法來確定從sproc內調用特定存儲過程的機器?一些諸如@@ CallingMachineIP或@@ CallingMachineName

回答

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

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

+1 - 如果您有多個不同的應用程序調用過程(查詢分析器,水晶報表等),您還可以選擇'program_name'以縮小範圍 – LittleBobbyTables 2010-09-10 18:08:34

5

@@SPID應該給你的當前進程ID。

然後,

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

你可以讓你從這些列中的一個所需要的。

相關問題