是否有可能在不解析源代码的情况下选择插入,更新或删除记录的所有sproc名称列表?我需要创建一个TSQL实用程序脚本来执行此操作。效率不是问题,因为它每年只运行几次(Curse'rs我的意思是游标可以)。理想情况下,这个脚本不会包含对临时或局部变量表的更新。如何查找插入,更新或删除记录的所有存储过程?
我试过在SO Question上找到以下查询。
SELECT
so.name,
so2.name,
sd.is_updated
from sysobjects so
inner join sys.sql_dependencies sd on so.id = sd.object_id
inner join sysobjects so2 on sd.referenced_major_id = so2.id
where so.xtype = 'p' -- procedure
and
is_updated = 1 -- proc updates table, or at least, I think that's what this means
但它会产生假阴性。
您所提供的链接包括了答案对于这个问题......只需要添加删除即可。 – 2009-12-04 22:28:02
即使只更新sprocs,我仍然会得到约5%的失败率。 – 2009-12-04 22:33:26