2015-11-10 36 views
0

有任何存储过程或查询在所有数据库(也意味着其他过程)中搜索特定字符串?搜索所有数据库中的字符串

我想搜索单词Raiserror的所有存储过程的代码,并且我只有字符串来解决引发错误的原因。

谢谢你

回答

3

我使用RedGate SQL Search来查找存储过程中的文本。它是免费的并安装到Management Studio中。

2

这将找到存储过程,视图,函数和触发器包含您的文字...

DECLARE @SearchString nvarchar(max) 
    SET @SearchString = 'Raiserror' --Text You Want To Find 

    SELECT DISTINCT 
     [SysObjects].[name] AS [Object Name], 
     [SysObjects].[type_desc] AS [Object Type] 
    FROM 
     [sys].[sql_modules] AS [SysMods] 
     LEFT OUTER JOIN [sys].[objects] AS [SysObjects] ON [SysMods].[object_id] = [SysObjects].[object_id] 
    WHERE 
     [SysMods].[definition] LIKE '%' + @SearchString + '%' 
    /* 
     --comment this in to only fined stored procedures 
     AND 
     [SysObjects].[type_desc] = 'SQL_STORED_PROCEDURE' 
    */ 
    ORDER BY 
     [SysObjects].[type_desc] ASC, 
     [SysObjects].[name] ASC 
相关问题