我有一个从某段代码调用的存储过程。但我无法准确理解哪一个。
是否可以要求数据库或网络监控该SP以查找谁是呼叫者?怎么样?
数据库是SQL Server(最新版本之一)
答案 0 :(得分:1)
我不确定这是否是正确答案,但当我通过本地计算机连接并运行时,我可以获取我的IP地址。我不相信SQL服务器能够识别正在进行调用的网页,而是知道“我有来自X的连接”,因此,您需要将“应用程序名称”添加到连接字符串中。这可以从活动监视器中拉出来。
Use Application Name in SQL Server
SELECT session_id, client_net_address, hostname, program_name
FROM
sys.dm_exec_connections c
INNER JOIN
sys.sysprocesses s on
c.session_id = s.spid
WHERE
session_id = @@spid