如何在 SQL Server 中检查调用存储过程
Posted
技术标签:
【中文标题】如何在 SQL Server 中检查调用存储过程【英文标题】:How to Check the calling stored procedure in SQL Server 【发布时间】:2021-01-03 16:30:18 【问题描述】:我有一个存储过程名称示例“mySp”,我想知道谁调用了这个存储过程,我的意思是这个存储过程(mySp)正在被其他一些存储过程调用,请告诉我如何检查谁在 SQL Server 中调用我的存储过程。我的 sql 服务器中有大约 1500 个存储过程。
【问题讨论】:
除非你告诉程序从哪里调用它,否则它不会知道从哪里调用它。你需要在你的过程中添加一个(可选的)参数,这样你就可以告诉它什么/谁在告诉它做它的“事情”。 @@procid 作为参数传递非常有用,因为您可以对其进行样板化 【参考方案1】:在 SQL Server Management Studio 中,您可以右键单击您的 mySP 并选择“查看依赖项” 在后台执行的代码是:
SELECT SCHEMA_NAME(sp.schema_id) AS [Schema], sp.name AS [Name]
FROM sys.all_objects AS sp
WHERE (sp.type = 'P' OR sp.type = 'RF' OR sp.type='PC')
and(sp.name='yourSPname' and SCHEMA_NAME(sp.schema_id)='yourSchema')
yourSPname 将是 mySp 和 yourSchema,例如 dbo。
【讨论】:
以上是关于如何在 SQL Server 中检查调用存储过程的主要内容,如果未能解决你的问题,请参考以下文章
如何使用标准 BIP 参数在 BI Publisher 中调用 SQL Server 存储过程
如何从 SQL Server 2000 调用 MySQL 存储过程?