SQL Server 2005 - 查找运行到特定表的存储过程

Goo*_*ber 4 t-sql stored-procedures sql-server-2005

  • 有没有一种快速的方法可以找到哪些存储过程运行到我的数据库中的特定表?
  • 数据库非常大,有很多表和 SPROCS ....

Luk*_*keH 5

如果要将搜索限制为存储过程,则可以执行以下操作:

SELECT name
FROM sys.objects
WHERE type = 'P'
    AND OBJECT_DEFINITION(object_id) LIKE '%name_of_your_table%'
ORDER BY name
Run Code Online (Sandbox Code Playgroud)

如果您想包含其他 SQL 模块——例如,函数、触发器、视图等——那么您可以更改查询以执行WHERE type IN ('P', 'FN', 'IF', 'TF', 'V')等操作,或者使用Martin 的回答中给出的替代方案。