我有一个包含50多个视图,表和存储过程的庞大数据库。我想运行搜索以找到我特定的文本,即表名,以查看它是否被引用。
我最初尝试过C#路由,但我怀疑这在SQL中会更容易。我正在考虑的逻辑可能是创建一个循环遍历所有表,视图和存储过程的查询,并返回数据(如果可用)。
有什么想法吗?
答案 0 :(得分:2)
在下面的查询中,代替 matchingstring 替换您的表名,它将返回与搜索字符串相关的对象列表
SELECT DISTINCT SO.[name]
FROM sysobjects SO
JOIN syscomments SC ON SC.Id = SO.Id
WHERE SC.[text] LIKE '%matchingstring%'
答案 1 :(得分:1)
SELECT object_name(id) FROM sys.syscomments WHERE text LIKE'%yourtablename%'