【发布时间】:2016-03-22 06:35:03
【问题描述】:
我使用 Microsoft SQL 服务器。我有一个包含数百个存储过程的数据库。要查找依赖项,我可以右键单击 SP,选择查看依赖项,然后单击 objects that depend on [name]。
我有这个查询来查找所有存储的过程
select * from INFORMATION_SCHEMA.ROUTINES where ROUTINE_TYPE = 'procedure'
如果我添加它,我会排除每个系统 SP。
and LEFT(routine_name, 3) not in ('sp_','xp_','ms_')`
我想找到所有其他 proc/function/trigger 不依赖的 SP。
例如:我有sproc1。在右键单击 + 查看依赖项中,我在 objects that depend on [sproc1] 没有元素,这意味着没有任何东西依赖于这个 SP。
使用查询来查找一年或更长时间未更改的过程不是一种选择,因为某些操作在每个闰年执行。有没有办法编写查询来确定存储过程的名称和 schema_id only 对于 NOONE 依赖的存储过程? (有零个依赖于 [this_sp] 的对象)
【问题讨论】:
标签: sql sql-server stored-procedures