[英]Search stored procedures/functions in all databases
我想在所有數據庫中的所有過程/函數等中搜索特定文本。 我設法從這個答案創建所需的查詢,但看起來OBJECT_DEFINITION(OBJECT_ID(SPECIFIC_NAME))為除當前數據庫之外的所有數據庫返回NULL。
sp_msforeachdb 'SELECT ''?'' AS DB, SPECIFIC_NAME, OBJECT_DEFINITION(OBJECT_ID(SPECIFIC_NAME)) FROM [?].INFORMATION_SCHEMA.ROUTINES'
你絕對需要Red-Gate的SQL搜索工具 - 它是免費的 ,絕對非常棒,非常適合這種需求。
問題是OBJECT_ID不能以這種方式使用。 它只適用於當前數據庫。 嘗試直接從INFORMATION_SCHEMA.ROUTINES返回ROUTINE_DEFINITION。 這個限制為4000個字符。 我將嘗試在SO上找到我的另一個答案,它使用MS元數據視圖提供了我的解決方法。
看看這個:
試試這個:
select * from syscomments where [text] like '%yourKeyword%'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.