Узнайте вызывающую хранимую процедуру в SQL Server
Нет хорошего автоматического stored-procedures способа сделать это (увы). Так sql2005 что это действительно зависит sql от того, насколько вы готовы db (пере)писать свои процессы, чтобы database иметь возможность сделать sproc это.
Если у вас есть механизм sql-server-2005 регистрации, вы можете прочитать stored-procedures журнал и выяснить, кто вам stored-procedure звонил.
Например, если вы databases реализуете ведение журнала sql-select путем вставки в таблицу, например:
CREATE TABLE Log
(timestamp dattime,
spid int,
procname varchar(255),
message varchar(255) )
... text of proc ...
INSERT INTO Log
SELECT get_date(), @@spid, @currentproc, 'doing something'
-- you have to define @currentproc in each proc
-- get name of caller
SELECT @caller = procname
FROM Log
WHERE spid = @@spid
AND timestamp = (SELECT max(timestamp)
FROM Log
WHERE timestamp < get_date()
AND procname != @currentproc )
Это sql2005 не сработает для рекурсивных mssql2005 вызовов, но, возможно, кто-нибудь stored-procedures сможет это исправить?
sql
sql-server
database
stored-procedures
sql-server-2005
Узнайте вызывающую хранимую процедуру в SQL Server
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.