我收到错误:
Invalid column name 'Reserved'
我不确定这在数据库代码中的什么位置,并且有100多个存储过程,函数和触发器,我必须手动查看这些存储过程,函数和触发器才能找到对未知列的引用。
是否可以快速搜索哪些对象包含此关键字?
尝试一下:
SELECT o.name, t.TABLE_NAME, c.text
FROM syscomments c
JOIN sysobjects o
ON c.id = o.id
JOIN INFORMATION_SCHEMA.Tables t
ON c.text LIKE '%reserved%'
或者,如果您要查找带有名为保留的列的表,您可以这样做:
select o.name
from sys.objects o
inner join sys.columns c
on o.object_id = c.object_id
where o.type = 'u' and c.name = 'Reserved'
[如果要对某些类型的对象(例如过程,视图或表)进行搜索过滤,则可以为存储过程添加'p',为视图添加'v',为用户定义表添加'u','tr '用于触发器,例如:
AND o.type = 'p'
使用RedGate's SQL Search扩展名也可以提供帮助