如何在INFORMATION_SCHEMA,sys.objects或其他一些元数据中找到声明为WITH RECOMPILE的SP?
(我正在为我的系统运行状况监控添加一些代码,并希望警告那些在不合理的情况下被声明的方式.)
注意:我不是在寻找’WITH RECOMPILE’的一般文本搜索 – 我已经可以这样做,但它会对文本的任何注释或文字版本给出误报.
最佳答案 对于快速而肮脏的方式,我会使用:
SELECT
o.name
FROM
syscomments c
INNER JOIN sys.objects o ON
o.object_id = c.id
WHERE
c.text LIKE '%WITH RECOMPILE%'
但是,在实际应用中使用它可能不是一个好主意.如果我有几分钟,我会尝试挖掘一个更清洁的方式.上面还将捕获具有该字符串注释掉的proc,它使用MS SQL Server特定的表syscomments等.