sql - 如何在 SQL Server (2005) 中找到 WITH RECOMPILE 元数据?

标签 sql sql-server metadata

您如何找到在 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%'

不过,在实际应用程序中使用这可能不是一个好主意。如果我有几分钟的时间,我会尝试找出一种更清洁的方法。上面的代码还将捕获注释掉该字符串的过程,它使用 MS SQL Server 特定的表 syscomments 等。

关于sql - 如何在 SQL Server (2005) 中找到 WITH RECOMPILE 元数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/435980/

相关文章:

具有非计数的Mysql数据透视表

sql - MySQL 查找表和 id/keys

java - ResultSetMetaData 是否为空?

用于元数据存储/检索的 Git Hook

sql - 最后两个连接导致重复的行

flutter - Flutter中有没有办法获取图片的元数据?

sql - LIKE 和正则表达式之间的 PostgreSQL 性能差异

sql - ORA-04098: 简单触发器无效。为什么?

sql-server - 如何在从自身更新同一个表时为表添加别名?

sql - UPDATE 语句包含在 IF EXISTS block 中