在SQL Server中的存储过程中搜索文本
我想从我的所有数据库stored procedures
搜索文本。 我使用下面的SQL
:
SELECT DISTINCT
o.name AS Object_Name,
o.type_desc
FROM sys.sql_modules m
INNER JOIN
sys.objects o
ON m.object_id = o.object_id
WHERE m.definition Like '%[ABD]%';
我想在包括方括号的所有stored procedures
搜索[ABD]
,但它没有给出正确的结果。 我怎样才能改变我的查询来实现这一目标?
退出方括号:
...
WHERE m.definition Like '%[ABD]%' ESCAPE ''
然后方括号将被视为字符串文字而不是通配符。
试试这个请求:
询问
SELECT name
FROM sys.procedures
WHERE Object_definition(object_id) LIKE '%strHell%'
您是否尝试过使用一些第三方工具来执行搜索? 在那里有几种免费的,这为我节省了很多时间。
以下是我使用过的两个SSMS Addins,取得了很好的成绩。
ApexSQL搜索 - 在数据库中搜索模式和数据,并具有附加功能,例如依赖关系跟踪等...
SSMS工具包 - 与前一个和其他一些酷炫功能具有相同的搜索功能。 对于SQL Server 2012不是免费的,但仍然非常实惠。
我知道这个答案不是100%与问题有关(更具体),但希望其他人会发现这个问题很有用。
链接地址: http://www.djcxy.com/p/55873.html上一篇: Search text in stored procedure in SQL Server
下一篇: select distinct words from pdf files stored in FILESTREAM