Как определить, кто вызвал хранимую процедуру из Sproc - PullRequest
11 голосов
/ 10 сентября 2010

У меня устарела хранимая процедура, которая больше не должна вызываться из кода, но есть какая-то система, которая все еще вызывает ее. Это рабочий сервер, поэтому у меня очень ограниченный косвенный доступ к нему для выполнения диагностики.

Есть ли способ определить машину, которая вызывает определенную хранимую процедуру изнутри sproc? Что-то вроде @@ CallingMachineIP или @@ CallingMachineName

Ответы [ 2 ]

11 голосов
/ 10 сентября 2010
select hostname from master..sysprocesses where spid=@@SPID

или

select host_name from sys.dm_exec_sessions where session_id=@@SPID
6 голосов
/ 10 сентября 2010

@@SPID должен дать вам текущий идентификатор процесса.

Затем

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

Вы можете получить то, что вам нужно, из одного из этих столбцов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...